Node.js是基于Chrome V8引擎的服务器端JavaScript运行时,移除浏览器API、提供fs/net等服务端API,通过node命令执行JS文件,采用global全局对象、CommonJS模块系统及非阻塞I/O事件驱动模型。
Node.js 不是浏览器里的 JavaScript,而是让 JavaScript 能在服务器端(也就是你的电脑本地或服务器上)直接运行的运行时环境。它用的是 Chrome V8 引擎,但去掉了浏览器相关的 API(比如 document、window),换成了面向文件系统、网络、进程等服务端能力的 API。
安装 Node.js 后,你就可以在终端(命令行)里执行 JS 文件:
app.js,比如:console.log("Hello from Node!");
Node.js 还能启动 HTTP 服务、读写文件、连接数据库——这些在浏览器里默认做不到,因为涉及系统权限和安全限制。
浏览器中顶层对象是 window,而 Node.js 中是 global。这意味着:
setTimeout、console、process 都存在,但来源不同document、localStorage、fetch(旧版需 polyfill)在 Node.js 里原生没有require() 和 module.exports 来组织代码,浏览器原生不支持(ESM 用 import/export)Node.js 默认所有 I/O 操作(如读文件、发请求)都是异步非阻塞的,靠事件循环处理回调或 Promise:
Node.js 的事件机制更底层,可监听文件变化、TCP 连接、子进程退出等fs.readFile() 不会卡住整个程序,而 fs.readFileSync() 会——后者应避免在服务端高频使用Node.js 自带 CommonJS 模块系统,npm 是其默认包管理器:
npm install express 快速搭 Web 服务,浏览器里没法直接装这种后端框架fs、path、child_process),浏览器环境无法直接运行