Node.js新手教程:从零开始学习服务器端JavaScript
大家好,我是你们的技术培训负责人老张。在过去的五年里,我带过近百名前端应届生,看着他们从“Hello World”一路成长为能独当一面的工程师。今天,我之所以要写这篇《Node.js新手教程》,是因为我发现很多刚入行的同学对后端开发望而却步——其实,Node.js正是你跨出这一步的最佳跳板。
尤其当你已经熟悉 React 前端框架时,用 JavaScript 写后端代码会有一种“回家”的感觉。更重要的是,在求职市场上,全栈能力正成为区分普通候选人和优秀候选人的关键。面试题挑战中,如果你能自信地说“我用 Node.js 搭过 API 服务”,你的竞争力会立刻提升一个档次。
别担心,这篇教程完全零基础友好。我当初学的时候,连“服务器”是什么都不清楚,但只要跟着一步步来,你也能写出自己的第一个后端程序!
一、Node.js 是什么?为什么你需要它?
简单说:Node.js 让你用 JavaScript 写服务器程序。
以前,JavaScript 只能在浏览器里运行(比如让按钮变颜色、弹出提示框)。但 2009 年,Ryan Dahl 发明了 Node.js,它把 JavaScript 从浏览器“解放”出来,让它也能操作文件、连接数据库、处理网络请求——这些原本只有 Python、Java 才能干的活。
你能用 Node.js 做什么?
- 搭建自己的 API 接口(比如给 React 前端提供数据)
- 构建聊天室、实时应用
- 自动化脚本(批量处理文件、部署项目)
- 甚至搭建整个后端服务(像淘宝、Netflix 都部分使用 Node.js)
💡 小贴士:React 负责“展示页面”,Node.js 负责“提供数据”。两者配合,就是现代 Web 开发的黄金组合。
二、环境准备:3 分钟搞定开发环境
我们只需要安装两个东西:
| 工具 | 作用 | 安装方式 |
|---|---|---|
| Node.js | 运行 JavaScript 后端代码 | 官网下载 nodejs.org(选 LTS 版) |
| VS Code | 代码编辑器(免费好用) | 官网下载 code.visualstudio.com |
安装验证步骤:
- 打开终端(Windows 用 PowerShell 或 CMD,Mac 用 Terminal)
- 输入以下命令:
node -v npm -v - 如果看到版本号(比如 v18.17.0),说明安装成功!
✅ 避坑指南:不要用
sudo安装 Node.js!这会导致权限问题。直接官网下载安装包最安全。
三、核心概念:用大白话讲清楚
1. 什么是“服务器”?
想象你开了一家奶茶店:
- 客户端(React 前端) = 顾客,点单:“我要一杯珍珠奶茶”
- 服务器(Node.js) = 店员,收到订单后做奶茶,然后递给顾客
Node.js 就是那个“店员程序”。
2. 什么是“API”?
API 就是“点单规则”。比如:
- 请求
/api/users→ 返回用户列表 - 请求
/api/login+ 密码 → 返回是否登录成功
3. 什么是 Express?
Express 是 Node.js 最流行的“工具箱”,帮你快速搭建 API,不用从零造轮子。
四、实战项目:5 步写出你的第一个 API
我们将用 Node.js + Express 搭建一个简单的“待办事项”(Todo)API。这个项目足够简单,但涵盖了真实开发的核心流程。
第 1 步:初始化项目
mkdir my-first-node-api
cd my-first-node-api
npm init -y
这会生成一个 package.json 文件,相当于项目的“身份证”。
第 2 步:安装 Express
npm install express
第 3 步:创建服务器文件 server.js
// 引入 Express
const express = require('express');
const app = express();
// 允许接收 JSON 格式的数据
app.use(express.json());
// 模拟数据库(实际项目会用 MongoDB/MySQL)
let todos = [
{ id: 1, text: "学习 Node.js", done: false },
{ id: 2, text: "写简历投递 React 岗位", done: true }
];
// GET /todos → 获取所有待办事项
app.get('/todos', (req, res) => {
res.json(todos);
});
// POST /todos → 新增待办事项
app.post('/todos', (req, res) => {
const newTodo = {
id: todos.length + 1,
text: req.body.text,
done: false
};
todos.push(newTodo);
res.status(201).json(newTodo);
});
// 启动服务器,监听 3000 端口
const PORT = 3000;
app.listen(PORT, () => {
console.log(`🚀 服务器启动成功!访问 http://localhost:${PORT}/todos`);
});
第 4 步:运行服务器
node server.js
你会看到控制台输出:🚀 服务器启动成功!...
第 5 步:测试 API
- 查看所有待办事项:打开浏览器,访问
http://localhost:3000/todos - 新增待办事项:用 VS Code 插件 Thunder Client(或 Postman)发送 POST 请求:
- URL:
http://localhost:3000/todos - Body (JSON):
{ "text": "准备面试题挑战" }
- URL:
💡 成就感时刻:恭喜!你刚刚写出了人生第一个后端服务。这个 API 完全可以被你的 React 项目调用!
五、新手常见问题解答(FAQ)
❓ 问题1:为什么我的 req.body 是 undefined?
✅ 原因:忘了加 app.use(express.json())。这行代码告诉 Express:“请帮我解析 JSON 请求体”。
❓ 问题2:修改代码后,每次都要重启服务器?
✅ 解决方案:安装 nodemon,它能自动重启:
npm install -g nodemon
nodemon server.js # 代替 node server.js
❓ 问题3:端口 3000 被占用了怎么办?
✅ 解决方法:换一个端口,比如 4000:
const PORT = process.env.PORT || 4000; // 优先用环境变量,否则用 4000
❓ 问题4:如何连接真实数据库?
✅ 下一步建议:先学 SQLite(轻量)或 MongoDB(无模式)。等你掌握基础后再深入。
六、学习建议与求职指南
📌 学习路径推荐(循序渐进)
- 巩固基础:熟练使用 Express 处理 GET/POST 请求
- 连接数据库:尝试用
sqlite3或mongoose(MongoDB) - 添加用户认证:学习 JWT(JSON Web Token)
- 部署上线:用 Render 或 Vercel 免费部署你的 API
- 与 React 结合:用
fetch或axios调用你的 Node.js 接口
💼 求职加分项
在 GitHub 上放一个完整的 Todo API 项目(包含 README 说明)
准备一道经典面试题挑战:
“请手写一个中间件,记录每个请求的耗时。”
参考答案:
app.use((req, res, next) => { const start = Date.now(); res.on('finish', () => { console.log(`${req.method} ${req.url} - ${Date.now() - start}ms`); }); next(); });
🌟 给“代码人生”的一点建议
我见过太多同学陷入“只学不练”的陷阱。记住:代码不是看会的,是写会的。哪怕每天只写 20 行,坚持一个月,你就能做出让面试官眼前一亮的小项目。
Node.js 的魅力在于:它让你用熟悉的 JavaScript,打开后端世界的大门。而当你能同时驾驭 React 和 Node.js,你就不再是“前端开发者”,而是“解决问题的人”——这正是企业最需要的角色。
结语
今天,你迈出了全栈开发的第一步。也许现在觉得“服务器”“API”很抽象,但当你亲手写出能被 React 调用的接口时,那种“掌控感”会彻底改变你对编程的理解。
如果你按照教程完成了 Todo API,不妨在评论区留言:“我的第一个 Node.js 服务跑起来啦!” —— 这会是你代码人生中值得纪念的一刻。
下期预告:《用 Node.js + React 实现一个完整的求职作品集网站》。关注我,带你从入门到求职,一步一个脚印,稳稳上岸!
加油,未来的全栈工程师!

评论 0