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

如果你是个前端开发者(甚至不是),你可能经常听到“Node.js”这个词。但它是啥?有什么用?
简单来说:
Node.js 是一个基于 JavaScript 的运行环境,让你可以用 JavaScript 编写服务器端程序。
什么意思呢?我们平常写的 HTML/CSS/JS 主要是在浏览器里运行的(前端)。而 Node.js 让你能用熟悉的 JS,在服务器上干活啦!
💡 常见用途包括:
- 构建网站后端
- 创建 API 接口
- 实时聊天系统
- 数据处理和自动化脚本
- 本地命令行工具开发
比如,像知乎、网易云音乐、B站等很多大厂项目,都有用到 Node.js 来做他们的后台服务。
🔨 二、环境准备:手把手教你安装开发环境

要使用 Node.js,首先得在你的电脑上安装它。
Step 1:下载并安装 Node.js
前往官网:https://nodejs.org
你会看到两个版本:
- LTS 版本(推荐)—— 稳定、适合新手
- Current 版本—— 最新功能,但可能存在不稳定性
点击 LTS 版本的 “Download” 按钮,根据你的操作系统(Windows/macOS/Linux)下载安装包,然后双击安装即可。
Step 2:验证安装是否成功
打开终端(Windows 可以用命令提示符或 PowerShell,macOS 和 Linux 用 Terminal):
node -v
npm -v
如果输出类似这样(具体数字可能不同):
v20.15.1
9.8.0
恭喜你,Node.js 和 npm 都安装好了!
✅
node是运行环境本身
✅npm是包管理器(后面会讲)
Step 3:安装一个代码编辑器(推荐 VS Code)
前往 https://code.visualstudio.com 下载并安装 Visual Studio Code。
安装完成后,打开它,我们就可以开始写第一个 Node.js 程序了!
📚 三、核心概念讲解(超通俗版!)
作为初学者,这几个概念是必须要知道的:
| 概念名 | 中文名 | 简单解释 |
|---|---|---|
| Node.js | 节点.js | 运行 JS 的服务器环境 |
| npm | 包管理器 | 安装别人写好的 JS 功能模块 |
| 模块 | Module | JS 文件之间互相引用的方式 |
| 文件系统(fs) | File System | Node 提供的文件读写能力 |
| HTTP 模块 | 协议模块 | 用于创建 Web 服务器的基础模块 |
下面我们用代码示例带你认识这些概念。

3.1 第一个 Node.js 程序:Hello World!
创建一个文件夹,比如叫 my_node_project,进入文件夹中新建一个文件:app.js
输入以下代码:
// app.js
console.log("Hello, Node.js!");
保存之后,在终端里运行:
node app.js
你会看到输出:
Hello, Node.js!
✅ 成功运行了你的第一个 Node.js 程序!
3.2 Node.js 模块系统:组织你的代码结构
你可以把代码分成多个小文件来管理,这叫做“模块”。
举个例子,我们写一个加法函数:
创建 math.js
// math.js
function add(a, b) {
return a + b;
}
module.exports = add; // 导出这个函数
在 app.js 使用它:
// app.js
const add = require('./math'); // 引入模块
console.log('加法结果:', add(3, 5)); // 输出 8
运行一下看看:
node app.js
输出:
加法结果: 8
✅ 学会了模块引入!
3.3 使用内置模块:文件操作 fs
Node.js 内置了很多实用模块,比如可以读写文件的 fs 模块。
示例:写入一个文本文件
// write.js
const fs = require('fs');
fs.writeFile('hello.txt', '你好,这是写进去的内容', (err) => {
if (err) throw err;
console.log('文件写入成功');
});
运行:
node write.js
查看目录下是不是多了一个 hello.txt 文件?
✅ 学会了文件写入!
3.4 创建自己的第一个 Web 服务器!
Node.js 最牛的地方就是可以创建 Web 后端服务器。我们用它的内置模块 http 来试试看。
示例代码如下:
// server.js
const http = require('http');
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('你好,这是我的第一个 Node.js 服务器!');
});
const PORT = 3000;
server.listen(PORT, () => {
console.log(`服务器正在监听端口 ${PORT}`);
});
运行这个服务器:
node server.js
现在去浏览器地址栏输入:
http://localhost:3000
你会看到页面显示:
你好,这是我的第一个 Node.js 服务器!
🎉 太棒了!你现在有一个自己的 Web 服务器了!
🛠️ 四、实战项目:搭建一个简易留言本
让我们动手做一个完整的项目吧!
目标:搭建一个简单的留言本,用户访问网页可以看到所有留言,并可以提交新的留言。
项目结构:
guestbook/
├── data.json # 存储留言数据
├── server.js # 服务器主程序
Step 1:初始化 data.json
新建一个空数组:
// data.json
[]
Step 2:修改 server.js
const http = require('http');
const fs = require('fs');
const path = require('path');
http.createServer((req, res) => {
if (req.url === '/messages' && req.method === 'GET') {
// 获取留言列表
fs.readFile(path.join(__dirname, 'data.json'), 'utf8', (err, data) => {
if (err) throw err;
res.end(data);
});
} else if (req.url === '/add' && req.method === 'POST') {
let body = '';
req.on('data', chunk => {
body += chunk.toString();
});
req.on('end', () => {
const newMsg = JSON.parse(body);
fs.readFile(path.join(__dirname, 'data.json'), 'utf8', (err, data) => {
if (err) throw err;
const messages = JSON.parse(data);
messages.push(newMsg);
fs.writeFile(path.join(__dirname, 'data.json'), JSON.stringify(messages), err => {
if (err) throw err;
res.end('OK');
});
});
});
} else {
// 默认返回 HTML 页面
res.end(`
<html>
<body>
<h2>留言本</h2>
<textarea id="msg" placeholder="请输入留言内容..."></textarea><br/>
<button onclick="send()">提交</button>
<ul id="list"></ul>
<script>
function send() {
fetch('/add', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ text: document.getElementById('msg').value })
}).then(() => location.reload());
}
fetch('/messages')
.then(res => res.json())
.then(data => {
let html = '';
data.forEach(msg => {
html += '<li>' + msg.text + '</li>';
});
document.getElementById('list').innerHTML = html;
});
</script>
</body>
</html>
`);
}
}).listen(3000, () => {
console.log('留言本服务已启动,访问 http://localhost:3000');
});
Step 3:运行项目
node server.js
访问网址:
http://localhost:3000
你现在可以:
- 查看留言列表
- 添加新留言,自动刷新页面并显示新增内容
✅ 恭喜完成!这是你第一个完整的小型网站!
❓五、常见问题解答(FAQ)
Q1:为什么不能直接用 <script src="xxx.js"> 写 Node.js?
A:Node.js 不运行在浏览器里,所以浏览器不认识你写的 Node.js 文件。你需要通过 node xxx.js 才能运行。
Q2:报错 Error: Cannot find module 'xxxxx' 怎么办?
A:说明你用了某个模块,但还没有安装。先运行 npm install xxxxx 再运行程序。
Q3:怎么调试 Node.js 程序?
A:可以用 VSCode 直接调试,也可以加 console.log() 或者用 debugger 断点。
Q4:如何退出 Node.js 服务?
A:在终端按下 Ctrl + C,两次可强制退出。
📚 六、下一步该学什么?推荐学习路径

恭喜你完成了 Node.js 的入门教程!接下来可以继续提升:
初级阶段:
- ✅ 继续掌握更多模块:如
path,url,events等 - ✅ 学习 Express.js(Node 最流行的框架)
- ✅ 学习 MongoDB / MySQL 等数据库连接
中级阶段:
- ✅ RESTful API 设计与构建
- ✅ 使用 JWT 实现登录认证
- ✅ 学习异步编程:Promise、async/await
高级阶段:
- ✅ 微服务架构设计
- ✅ 使用 Docker 部署 Node 应用
- ✅ 使用 PM2 管理 Node.js 进程
📝 小结
在这篇教程中,我们:
- 介绍了 Node.js 是什么,能做什么;
- 教你一步步搭建了开发环境;
- 学习了模块、文件操作、HTTP 服务器;
- 动手完成了一个留言本小项目;
- 解答了初学者常遇的问题;
- 规划了后续的学习方向。
希望这篇文章能成为你踏入 Node.js 世界的第一步!继续加油,未来你也能做出大型后端应用!
📬 如果你遇到疑问或者想交流心得,欢迎留言提问~

评论 0