Node.js新手教程:从零开始学习服务器端JavaScript
一、开篇:什么是Node.js?它能做什么?

你是不是也经常听到“前端”、“后端”这些词,但还不太清楚它们之间的区别?别担心,我们一步一步来。
1.1 前端 vs 后端
- 前端 是网页上你能看到和操作的部分,比如按钮、输入框、图片等等。这部分通常用 HTML、CSS 和 JavaScript 来编写。
- 后端 则是你看不到的部分,它负责处理数据、验证用户身份、管理数据库等等。常用的后端语言有 Java、Python、PHP 等。
那有没有办法让前端程序员也能写后端呢?有!Node.js 就是为此而生的。
1.2 什么是Node.js?
Node.js 并不是一种新的编程语言,它只是在服务器端运行 JavaScript 的一个工具。
你可以把它理解成一个能让 JavaScript 跑在电脑(或服务器)上的“解释器”。它基于 Google 的 V8 引擎,所以执行速度非常快。
1.3 Node.js 能用来做什么?
- 搭建网站后台
- 编写 API 接口(前后端分离时使用)
- 创建聊天程序
- 构建命令行工具
- 实现自动化任务(如文件压缩、代码构建)
总之,只要你懂得 JavaScript,就可以用 Node.js 写出很多有意思的服务器端功能!
二、环境准备:如何安装并配置Node.js开发环境

在我们真正开始之前,先得把 Node.js 安装好。
2.1 下载与安装Node.js
访问官方网站:https://nodejs.org
你会看到两个版本:
- LTS(长期支持版):推荐初学者选择这个,稳定性更好。
- Current(最新版):如果你已经有些经验,或者想尝鲜新技术,可以选择这个。
点击下载适合你系统的安装包(Windows/macOS/Linux),然后按照提示一步步安装即可。
2.2 验证安装是否成功
打开终端(Windows 用户叫“命令提示符”,Mac 用户可以打开“终端 Terminal”),输入以下命令:
node -v
如果能看到输出类似 v18.x.x 的版本号,说明 Node.js 安装成功了 ✅
再来测试 npm:
npm -v
npm 全名叫做 Node Package Manager,它是随 Node.js 一起安装的一个包管理工具。我们可以用它来安装各种库(插件),后面我们会用到它。
📌 新手小贴士:
如果遇到权限问题导致无法安装某些包,可以用管理员身份运行命令行工具(Windows)或者加
sudo(Mac/Linux)。
三、核心概念讲解

Node.js 虽然看起来像是 JavaScript,但它运行在服务器上,而不是浏览器里。这带来了几个新概念。
3.1 Node.js 如何运行 JS 文件?
在浏览器里,我们通常通过网页加载 JavaScript 文件。而在 Node.js 中,我们要手动运行 JS 文件。
举个例子,我们新建一个叫 hello.js 的文件,内容如下:
console.log("Hello, Node.js!");
在终端中运行它:
node hello.js
你应该会看到终端输出一句话:“Hello, Node.js!”
🎉 成功啦!
3.2 模块系统(Module System)
Node.js 使用了一个叫 CommonJS 的模块系统。简单来说,就是每个 JS 文件都可以看作是一个“独立的小世界”。
我们可以用 require() 把其他文件里的内容引入进来。
示例:创建两个文件
math.js:
function add(a, b) {
return a + b;
}
module.exports = add; // 导出这个函数
main.js:
const add = require('./math'); // 引入刚刚定义的函数
let result = add(5, 3);
console.log('相加结果是:', result);
运行方式:
node main.js
输出应为:
相加结果是: 8
📌 常见疑问:
- 为什么用
./表示当前目录?
这是一种相对路径写法,在 Node.js 中引用本地文件必须这样写,否则会被当作是安装的第三方库。
3.3 内置模块(Built-in Modules)
Node.js 自带一些常用的模块,比如:
fs:用于读写文件path:处理文件路径http:创建 HTTP 服务器
我们来试试最简单的 Web 服务器:
示例:用 http 模块创建一个小服务器
新建文件 server.js:
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('欢迎来到我的 Node.js 小服务器!');
});
server.listen(3000, () => {
console.log('服务器正在监听 http://localhost:3000');
});
运行命令:
node server.js
然后打开浏览器,访问 http://localhost:3000,你会看到页面显示:
欢迎来到我的 Node.js 小服务器!
恭喜你,你已经写出了人生第一个 Node.js 后端应用了 😄
📌 新手提醒:
每次改完代码都要重新运行一次服务器,否则新改动不会生效。我们可以安装 nodemon 工具来自动重启(后面会讲怎么安装)。
四、实战项目:动手做一个迷你博客API
接下来我们做一个小型项目——简易的博客系统API接口,包含文章列表、添加文章等功能。
4.1 创建项目目录结构
先建一个新的文件夹:
mkdir my-blog-api
cd my-blog-api
然后初始化一个 npm 项目(npm 是 Node.js 的包管理工具):
npm init -y
这样就生成了一个 package.json 文件,里面记录着你的项目的相关信息。
4.2 安装 Express(Node.js 最流行的 Web 开发框架)
我们不直接用 http 模块做整个项目,那样太复杂。我们用一个更强大的框架——Express。
安装方法:
npm install express
4.3 写一个基本的 RESTful API
新建文件 app.js:
const express = require('express');
const app = express();
// 设置中间件,允许接收 JSON 数据
app.use(express.json());
// 模拟一个文章数组
let posts = [
{ id: 1, title: '第一篇文章', content: '这是第一篇文章的内容' },
{ id: 2, title: '第二篇文章', content: '这是第二篇文章的内容' }
];
// 获取所有文章
app.get('/posts', (req, res) => {
res.json(posts);
});
// 添加新文章
app.post('/posts', (req, res) => {
const newPost = req.body;
posts.push(newPost);
res.status(201).json(newPost);
});
// 监听端口
app.listen(3000, () => {
console.log('博客API服务已启动,访问 http://localhost:3000/posts');
});
运行一下看看效果:
node app.js
用浏览器访问:http://localhost:3000/posts,你会看到返回一个 JSON 格式的文章列表。
现在,我们也可以用 POSTMAN 或 curl 测试添加文章功能。
示例:用 curl 添加一篇文章
curl -X POST http://localhost:3000/posts \
-H "Content-Type: application/json" \
-d '{"id":3, "title":"第三篇文章", "content":"这是新增的一篇文章"}'
刷新之前的地址就能看到新加的数据了。
4.4 保存文章到本地文件中(使用 fs 模块)
刚才我们把文章保存在内存中,程序一关就没了。我们可以用 fs 模块将数据保存到磁盘上。
修改 app.js:
const express = require('express');
const fs = require('fs');
const path = require('path');
const app = express();
app.use(express.json());
// 数据存储路径
const DATA_PATH = path.join(__dirname, 'data.json');
// 初始化读取数据
let posts = [];
try {
const data = fs.readFileSync(DATA_PATH, 'utf-8');
posts = JSON.parse(data || '[]');
} catch (err) {
console.error('读取数据失败,正在初始化空数组');
posts = [];
}
// 获取所有文章
app.get('/posts', (req, res) => {
res.json(posts);
});
// 添加新文章
app.post('/posts', (req, res) => {
const newPost = req.body;
posts.push(newPost);
fs.writeFileSync(DATA_PATH, JSON.stringify(posts, null, 2));
res.status(201).json(newPost);
});
app.listen(3000, () => {
console.log('博客API服务已启动,访问 http://localhost:3000/posts');
});
这样每次增加文章都会写入到 data.json 文件中,重启也不会丢失了。
五、常见问题解答
5.1 启动Node程序报错:Error: Cannot find module...
这个错误说明你需要安装相应的模块。例如你用了 express,那就应该执行:
npm install express
5.2 修改代码后需要重新启动服务器吗?
是的,Node.js 默认不会自动重载代码。不过可以安装热更新工具 nodemon:
npm install -g nodemon
然后用以下命令运行你的项目:
nodemon app.js
当你修改代码保存后,服务器会自动重启。
5.3 为什么我不能在浏览器访问本地文件?
因为浏览器出于安全考虑,不允许直接访问本地文件(如 file:///)。我们需要搭建本地服务器,才能正确访问网页内容。
六、学习建议:下一步学什么?
你现在已经掌握 Node.js 的基础,可以开始更深入地学习以下几个方向:
6.1 学习 Express 框架进阶
- 路由分组
- 使用中间件(如 cookie-parser、body-parser)
- 错误处理机制
- 模板引擎(如 EJS、Pug)
6.2 连接数据库(如 MongoDB、MySQL)
可以尝试用 mongoose 连接 MongoDB,或用 mysql 模块连接 MySQL。
6.3 学习异步编程:Promise 和 async/await
Node.js 大量使用异步编程,掌握这两个知识点非常重要。
6.4 了解 NPM 和 包的发布
你可以自己封装一些常用功能作为包上传到 NPM,供他人或自己使用。
总结
本教程带你从头开始认识 Node.js,学会了如何搭建环境、使用内置模块、搭建一个简单的博客 API,并了解了一些常见问题的解决方案。
记住一点:多动手写代码,才是学好编程的关键!
希望这篇教程能成为你开启 Node.js 旅程的第一步。继续加油,未来可期 💪!
附录:完整项目GitHub参考(模拟链接)
https://github.com/example/nodejs-blog-api
参考资料推荐:
- Node.js官方文档:https://nodejs.org/en/docs/
- Express 官网:https://expressjs.com/

评论 0