nodejs和js的区别
- ECMAScript
- JavaScript
- nodejs
ECMAScript
- 不能操作DOM,不能监听click事件,不能发送Ajax请求等等
- 即,只有ECMAScript,几乎操作不了任何实际的项目
它可以理解为是JavaScript的一个标准,但实际上后者是ECMA-262标准的实现和扩展
- 定义了语法,写JavaScript和nodejs都必须遵守
JavaScript
- 使用了ECMAScript语法规范,外加Web API,缺一不可
- 例如,DOM操作,BOM操作,事件绑定,Ajax等等
- 两者结合,才能完成浏览器端的任何操作
nodejs
- 使用ECMAScript语法规范,外加nodejs API,两者缺一不可
- 处理http请求,处理文件等等
- 两者结合,才能完成server端的任何操作
总结
- ECMAScript是语法规范
- nodejs = ECMAScript + nodejs API
- JavaScript = ECMAScript + Web API
commonjs模块化
在nodejs中,我们可以把一些复杂的代码文件进行拆分,然后在从别的去引用,这样的话就比较符合单一职责原则和开闭原则,使整体的代码从结构上看着有条理,美观;
例如:

function add(a, b) {
return a + b
}
function mul(a, b) {
return a * b
}
module.exports = {
add,
mul
} //将定义的函数导出,这样别的文件就可以导入来使用了
const {
add,
mul
} = require('./a') //通过结构的方式来给add和mul赋值
const express = require('express') //可以直接导入node的API
const sum = add(10, 20)
const ji = mul(10, 20)
console.log(sum, ji)
从第一个文件中定义的函数,将函数导出,别的文件来导入进行使用,来实现模块化规范;
server端开发和前端开发的区别
- 服务稳定性
- 考虑内存和CPU(优化和扩展)
- 日志记录
- 安全
- 集群和服务拆分
服务稳定性
- server端可能会遭受各种恶意攻击和误操作
- 单个客户端可以意外挂掉,但是服务端不能
- 通过PM2来做进程守候,来实现服务稳定性
考虑CPU和内存
- 客户端独占一个服务器,内存和CPU都不是问题
- 但是server端承载很多请求,CPU和内存都是稀缺资源
日志记录
- 前端也会参与写日志,但是只是日志的发起方,不关心后续
- server端要记录日志,存储日志,分析日志,前端不关心
安全
- server端要随时准备接收各种恶意攻击,前端则少很多
- 例如:越权操作,数据库攻击
集群和服务拆分
- 产品发展速度快,流量可能会迅速增加
- 比如后期流量多了,把某个功能拆分出来做个服务器等等
收各种恶意攻击,前端则少很多
- 例如:越权操作,数据库攻击
集群和服务拆分
- 产品发展速度快,流量可能会迅速增加
- 比如后期流量多了,把某个功能拆分出来做个服务器等等
本文探讨了Node.js与JavaScript的区别,强调Node.js是基于ECMAScript规范加上其特有的API,适合服务器端操作。同时介绍了Node.js的模块化机制以及服务器端开发与前端开发在服务稳定性、内存和CPU管理、日志记录以及安全方面的不同挑战。
2万+

被折叠的 条评论
为什么被折叠?



