Node.js 是一个基于 Chrome V8 引擎的服务器端 JavaScript 运行时环境,提供文件系统、HTTP 服务等服务器级 API 和事件驱动的非阻塞 I/O 模型,使 JavaScript 能脱离浏览器执行后端任务。

Node.js 不是 JavaScript 的一种新语法,而是一个让 JavaScript 能在服务器端运行的运行时环境(runtime environment)。
Node.js 是什么
它基于 Chrome 的 V8 引擎(就是浏览器里执行 JS 的那个高性能引擎),但剥离了浏览器环境,加入了文件系统、网络、进程等服务器所需的能力。简单说:Node.js = V8 引擎 + 服务器级 API(比如读文件、开 HTTP 服务)+ 事件驱动的非阻塞 I/O 模型。
它怎么让 JS 跑在服务器上
传统 JavaScript 只能在浏览器里跑,依赖 DOM、window 等浏览器对象。Node.js 则提供了一套全新的全局对象和模块系统,比如:
- global 替代了浏览器里的 window(没有 DOM,所以不能用 document.getElementById)
- require() 用来加载模块(如 fs、http、path),这是 Node.js 自己实现的模块系统(后来被 ES Module 部分兼容)
- fs 模块 可以读写文件,http 模块 可以创建 Web 服务器——这些在浏览器里是做不到的
一个最简例子:启动一个服务器
保存下面代码为 server.js,然后终端运行 node server.js:
立即学习“Java免费学习笔记(深入)”;
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行 JSON 格式数据的处理。
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello from Node.js!');
});
server.listen(3000);
console.log('Server running on http://localhost:3000');
这时你访问 http://localhost:3000,就能看到响应——整个过程没用浏览器,纯靠 Node.js 执行 JS 代码完成。
关键点不是“JS 本身变了”,而是“运行环境变了”
JavaScript 语言标准(ECMAScript)没变,变的是它能调用哪些功能:
- 在浏览器里:能操作页面、发请求、监听点击,但不能直接读硬盘
- 在 Node.js 里:能读写文件、连接数据库、处理 HTTP 请求,但不能用 alert() 或 document
本质上,Node.js 把 JavaScript 从“客户端脚本语言”拓展成了“通用编程语言”。
基本上就这些。









