Node.js新手教程:从零开始学习服务器端JavaScript
🧠 什么是Node.js?它是用来做什么的?

在你第一次听说 Node.js 的时候,可能会觉得这是一个很难懂的技术名词。其实它并没有那么复杂。
✅ 简单来说:
Node.js 是一种让你可以用 JavaScript 写「服务器」程序的技术!
我们都知道,JavaScript 最早是用来写网页(前端)的,比如让按钮变色、弹出提示框等。
但现在有了 Node.js,我们可以用同样的 JavaScript 写网站的“后台”部分,比如:
- 让用户登录和注册
- 把数据保存到数据库中
- 返回网页需要的数据
- 构建聊天服务器
- 写命令行工具等……
换句话说,Node.js 把 JavaScript 的能力从“浏览器”拓展到了“服务器上”。
🛠️ 第一步:安装 Node.js 和 npm

在开始写代码之前,我们需要先搭建开发环境。
步骤1:下载 Node.js
前往官网:https://nodejs.org
点击 “LTS” 版本(长期支持版本),下载并安装。
小贴士:安装时一路下一步就行,不用改设置。
步骤2:验证安装是否成功
打开终端(Mac/Linux)或命令提示符/PowerShell(Windows),输入以下命令:
node -v
npm -v
如果你看到输出类似:
v18.17.1
9.6.7
说明 Node.js 和 npm 都安装成功啦!
node是运行 JavaScript 的工具。npm是 Node.js 的包管理器,就像 App Store 一样,可以下载别人写的现成工具。
🔍 核心概念解释(通俗易懂)
作为新手,我们先来了解几个关键词:
1. ❓ 什么是模块(Module)?
想象一下你的厨房里有很多小工具:刀、锅、铲子……每个都有不同的功能。
在 Node.js 中,模块就像是这些工具,你可以一个一个使用它们。
比如:
const fs = require('fs'); // 引入文件系统模块
这个 fs 模块就可以用来读写电脑里的文件。
2. ❓ 什么是异步编程(Asynchronous)?
在传统编程中,任务是一个接一个执行的。例如:
- 去商店买菜 → 2. 回家做饭 → 3. 吃饭
但在 Node.js 中,很多操作都是同时进行的,这样更高效。
举个例子:
console.log("开始");
setTimeout(() => {
console.log("煮饭完成");
}, 3000);
console.log("洗衣服");
这段代码会先输出:
开始
洗衣服
三秒后再输出:
煮饭完成
这说明洗衣服不需要等饭煮完才开始,是“异步”的。
3. ❓ 什么是事件驱动?
Node.js 很擅长处理“响应动作”。比如用户点了按钮,我们就执行某个函数。
举个简单的事件监听例子:
const EventEmitter = require('events');
const myEmitter = new EventEmitter();
myEmitter.on('click', () => {
console.log('你点了一下!');
});
myEmitter.emit('click'); // 触发一次点击事件
输出结果是:
你点了一下!
这种“监听 -> 触发”的模式就是事件驱动的思维方式。
🚀 动手实践:创建一个最简单的 Web 服务器
下面我们就来写一个能接收网页请求的服务器!
第1步:新建一个项目文件夹
在电脑任意位置新建一个空文件夹,比如叫 my-server,然后进入这个文件夹。
用 VS Code 或任意编辑器打开它,新建一个文件叫 app.js。
第2步:写一个 HTTP 服务器
在 app.js 里写入以下代码:
const http = require('http');
const server = http.createServer((req, res) => {
// 设置返回内容为 HTML,并且状态码为 200(成功)
res.writeHead(200, { 'Content-Type': 'text/html' });
// 返回网页内容
res.end('<h1>Hello, 这是我的第一个 Node.js 服务器!</h1>');
});
// 监听端口 3000
server.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000/');
});
第3步:运行服务器
回到终端,在当前目录下运行:
node app.js
你会看到输出:
服务器运行在 http://localhost:3000/
现在打开浏览器,访问地址: 👉 http://localhost:3000
你会看到页面显示:
Hello, 这是我的第一个 Node.js 服务器!
🎉 恭喜你,你已经拥有了自己的第一个服务器啦!
🎯 实战项目:做个简单的留言本(迷你博客)
我们来做一个“留言本”,用户可以在页面上留下评论。
第1步:修改 app.js,添加基本逻辑
const http = require('http');
const fs = require('fs');
let messages = []; // 存放用户留言
const server = http.createServer((req, res) => {
if (req.method === 'POST') {
let body = '';
req.on('data', chunk => {
body += chunk.toString();
});
req.on('end', () => {
const message = new URLSearchParams(body).get('message');
messages.push(message);
res.writeHead(302, { 'Location': '/' });
res.end();
});
} else {
res.writeHead(200, { 'Content-Type': 'text/html' });
let listItems = messages.map(msg => `<li>${msg}</li>`).join('');
let html = `
<h1>留言本</h1>
<ul>${listItems}</ul>
<form method="POST">
<input type="text" name="message" placeholder="写下你想说的话"/>
<button>提交</button>
</form>
`;
res.end(html);
}
});
server.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000/');
});
第2步:运行并测试留言功能
还是用 node app.js 运行服务器,然后在浏览器打开 http://localhost:3000,你可以看到一个简单的留言板。
写下一条留言,点击提交,你会发现它会显示在页面上!
💡 小提示:这个数据只存在内存中,关掉服务器后消息就没了。后面你会学到怎么把数据保存到数据库。
❓ 新手常见问题解答
Q1:为什么我的 Node.js 没反应?
A:请检查代码有没有拼写错误,终端有没有报错信息。如果有红字,请复制出来搜索解决。
Q2:我写的服务器一关就没了吗?
A:对的,这只是临时服务器,要长期运行你需要部署上线(后面进阶再学)。
Q3:我能一边学前端一边学 Node.js 吗?
A:当然可以!Node.js 和前端 JavaScript 是同语言,互相促进,建议一起学习。
Q4:Node.js 能做什么项目?
A:可以做很多类型:
- 博客网站
- 聊天室
- REST API 接口服务
- 文件上传服务器
- 自动化脚本工具等
📚 下一步学习建议

你现在已经有基础了,接下来你可以继续学习以下几个方向:
✅ 推荐学习路径:
| 阶段 | 学习内容 | 推荐资源 |
|---|---|---|
| 第一步 | Express 框架 | 官网文档 + B站《Express入门教程》 |
| 第二步 | MongoDB 数据库存储 | 文档 + 菜鸟教程 |
| 第三步 | 用户登录系统开发 | JWT / Cookie / Session |
| 第四步 | RESTful API 开发 | 结合 Postman 测试 |
| 第五步 | 部署上线 Node.js 应用 | 使用 PM2 工具 + Heroku/Nginx |

📌 提示:每学一个新知识点时,一定要动手写一个 mini demo 来练手。
🎉 总结
今天我们完成了:
- ✅ 了解了 Node.js 是什么以及它的作用
- ✅ 成功搭建开发环境
- ✅ 理解了几个关键概念(模块、异步、事件)
- ✅ 动手写了一个 Web 服务器和一个小留言本
- ✅ 解答了一些新手常见问题
- ✅ 规划了后续学习路线
Node.js 不难,而且很有趣。只要一步步来,坚持练习,你很快就能掌握并做出属于自己的网站项目!
🌟 加油吧,未来的全栈开发者!有什么问题欢迎留言交流 😄

评论 0