Node.js 是基于 V8 引擎的服务器端运行时环境,采用事件驱动、非阻塞 I/O 模型,适合高并发场景;可用原生 http 模块或 Express 快速搭建 Web 服务,并需正确处理 req/res 对象。

Node.js 不是 JavaScript 的新版本,而是让 JavaScript 能在服务器上运行的运行时环境。它基于 Chrome 的 V8 引擎,让你用熟悉的 JavaScript 语法写后端逻辑,不用切换语言就能前后端通吃。
Node.js 的核心特点
它采用事件驱动、非阻塞 I/O 模型,适合处理大量并发请求(比如聊天服务、实时通知),但不太适合长时间计算任务(如视频转码)。启动一个最简服务器只需几行代码:
- 新建文件 server.js
- 写入以下内容:
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');
});
终端执行 node server.js,打开浏览器访问 http://localhost:3000 就能看到响应。
用 Express 快速搭建 Web 服务
原生 http 模块功能有限,实际开发中普遍用 Express —— 轻量、灵活、生态成熟。安装和起步很简单:
立即学习“Java免费学习笔记(深入)”;
const express = require('express');
const app = express();
const PORT = 3000;
app.get('/', (req, res) => {
res.send('Welcome to Express!');
});
app.get('/api/users', (req, res) => {
res.json([{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]);
});
app.listen(PORT, () => {
console.log(`Server up on port ${PORT}`);
});
这样就支持路由、JSON 响应、静态文件等常用能力,比原生模块更贴近真实项目需求。
处理请求与响应的关键点
Node.js 中每个请求都是独立的,req(请求对象)和 res(响应对象)是核心参数:
- req.method 获取请求方法(GET/POST 等)
- req.url 获取路径,配合 url.parse() 或 new URL() 解析查询参数
- req.on('data', ...) 接收 POST 的原始数据(需手动拼接)
- res.writeHead() 或 res.status().json()(Express)设置状态码和响应体
- 务必调用 res.end() 或 res.send(),否则连接会一直挂起
下一步建议
先跑通一个本地服务,再逐步加入:读写文件(fs 模块)、连接数据库(如 MongoDB + Mongoose 或 PostgreSQL + pg)、添加中间件(日志、解析 JSON)、用 nodemon 实现代码修改自动重启。不需要一开始就搞懂所有原理,从“能返回数据”开始,自然就上手了。
基本上就这些。











