Node.js 是基于 Chrome V8 的 JavaScript 运行时,采用事件驱动、非阻塞 I/O 的单线程模型,适合高并发 I/O 密集型服务;可用原生 http 模块快速启动 HTTP 服务,生产中多用 Express 实现路由与中间件,并配合 nodemon、dotenv、PM2 和 Nginx 提升开发效率与部署稳定性。

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它让 JavaScript 能在服务器端运行,而不仅限于浏览器。它的核心特点是事件驱动、非阻塞 I/O,适合构建高并发、实时性要求高的后端服务,比如 API 接口、聊天应用、微服务等。
Node.js 的核心优势
不同于传统后端语言(如 PHP、Java)为每个请求分配独立线程,Node.js 使用单线程 + 事件循环模型,通过异步回调处理大量并发连接,资源占用低、启动快、开发效率高。尤其适合 I/O 密集型任务(如数据库查询、文件读写、HTTP 请求),但 CPU 密集型任务需谨慎处理(可用 Worker Threads 或拆分到其他服务)。
快速搭建一个 HTTP 服务
无需安装额外框架,用 Node.js 内置的 http 模块就能启动基础服务:
- 新建文件 server.js
- 写入以下代码:
// server.js
const http = require('http');
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify({ message: 'Hello from Node.js!' }));
});
server.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
- 终端执行 node server.js
- 访问 http://localhost:3000 即可看到返回的 JSON
用 Express 构建更实用的后端服务
原生 http 模块功能有限,生产中普遍使用轻量级框架 Express.js,它提供路由、中间件、请求解析等能力:
立即学习“Java免费学习笔记(深入)”;
- 初始化项目:npm init -y
- 安装 Express:npm install express
- 创建 app.js:
// app.js
const express = require('express');
const app = express();
const port = 3000;
app.use(express.json()); // 解析 JSON 请求体
app.use(express.urlencoded({ extended: true })); // 解析表单数据
app.get('/', (req, res) => {
res.json({ status: 'ok', timestamp: Date.now() });
});
app.post('/api/users', (req, res) => {
const { name, email } = req.body;
res.status(201).json({ id: Date.now(), name, email });
});
app.listen(port, () => {
console.log(`API server running on http://localhost:${port}`);
});
- 运行 node app.js,即可支持 GET/POST 请求和结构化数据处理
常见配套工具与部署要点
实际项目还需考虑开发体验与稳定性:
- 开发时自动重启:用 nodemon 替代 node(npm install -D nodemon,运行 npx nodemon app.js)
- 环境变量管理:用 dotenv 加载 .env 文件(如端口、数据库地址)
- 错误处理:统一中间件捕获未处理异常和 Promise 拒绝
- 生产部署:推荐用 PM2 管理进程(npm install -g pm2,然后 pm2 start app.js)
- 反向代理:上线时通常配合 Nginx,处理 HTTPS、静态资源、负载均衡等











