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

如果你是前端开发者,或者正在学习 JavaScript,那可能已经听说过 Node.js 这个名字。那它到底是什么呢?简单来说,Node.js 不是一个编程语言,而是一个运行 JavaScript 的环境。
你可以把它理解成:“让 JavaScript 可以运行在电脑上、服务器上的一个平台”。换句话说,在 Node.js 出现之前,JavaScript 主要是在浏览器里执行(比如网页中的按钮点击事件),而有了 Node.js 之后,JavaScript 现在也可以用于构建服务器程序、命令行工具、自动化脚本等很多后端开发的场景。
这对我们有什么好处呢?如果你已经是前端开发者,那就意味着你可以用熟悉的 JavaScript 来写前后端代码了!Node.js 让全栈开发变得更容易和统一。
接下来我们将一起学习如何从零开始搭建 Node.js 的开发环境,并完成一个小项目来感受它的强大之处!
环境准备:安装 Node.js 和 npm


步骤 1:下载并安装 Node.js
打开 Node.js 官网,选择“LTS”版本进行下载。LTS 是 Long Term Support(长期支持)的意思,适合新手使用。
安装过程非常简单,一路“下一步”即可完成。
✅ 验证是否安装成功:
在电脑上打开终端(Windows 用户可以使用 CMD 或 PowerShell,Mac 和 Linux 用户使用 Terminal),输入以下命令:
node -v
如果看到类似 v18.16.0 的输出,说明 Node.js 已经安装成功。
接着再验证 npm:
npm -v
如果能看到版本号(例如 9.5.1),就说明 npm(Node Package Manager) 也安装好了。
步骤 2:创建你的第一个 Node.js 文件
现在我们来写一个最简单的程序,体验一下在 Node.js 中执行 JavaScript 的感觉。
新建一个文件,取名为 hello.js,内容如下:
console.log("Hello, Node.js!");
保存后回到终端,进入该文件所在目录,运行:
node hello.js
你会在控制台看到输出:
Hello, Node.js!
🎉 成功运行了你的第一个 Node.js 程序!
核心概念:用通俗语言解释关键知识点
Node.js 的核心知识点主要包括:模块系统、文件系统操作、HTTP 模块和 npm 的使用。这些听起来可能有点专业术语的味道,但我们慢慢来,逐一讲解。
1. 模块系统(CommonJS)
在浏览器中,我们可以直接通过 <script> 标签引入 JS 文件,但在 Node.js 中,每个文件就是一个独立的模块,不能直接共享变量或函数。这就需要用模块系统来组织代码。
示例:定义并导出一个模块
新建文件 math.js:
function add(a, b) {
return a + b;
}
module.exports = { add };
使用这个模块
新建另一个文件 app.js:
const math = require('./math');
console.log(math.add(2, 3)); // 输出 5
然后运行:
node app.js
可以看到控制台输出:
5
📌 知识点总结:
require()用于导入模块module.exports用于导出模块的内容
2. 文件系统(File System)
Node.js 提供了一个强大的内置模块叫 fs,用于操作文件和目录。
示例:读取文件内容
新建一个文本文件 greeting.txt,内容为:
你好,世界!
然后新建 readFile.js 文件:
const fs = require('fs');
fs.readFile('greeting.txt', 'utf8', (err, data) => {
if (err) {
console.error('读取失败:', err);
} else {
console.log('文件内容:', data);
}
});
运行后会打印出文件内容。
📌 知识点总结:
fs.readFile()异步读取文件- 第二个参数
'utf8'表示指定编码格式 - 回调函数处理错误和数据
3. HTTP 模块:创建 Web 服务器
Node.js 最常见的用途之一就是构建 Web 服务。我们可以使用内置的 http 模块来创建一个简单的 Web 服务器。
示例:创建一个服务器响应请求
新建文件 server.js:
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('欢迎来到我的网站!');
});
server.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000/');
});
运行:
node server.js
打开浏览器访问 http://localhost:3000/,你会看到页面显示:
欢迎来到我的网站!
📌 知识点总结:
http.createServer()创建服务器res.writeHead()设置响应头res.end()发送响应并结束
4. npm:Node.js 包管理器
npm 是世界上最大的开源库生态系统。你几乎可以在 npm 上找到任何功能的代码包(比如数据库连接、日志处理、身份验证等),只需要安装就可以直接使用。
示例:使用第三方模块
以流行的 lodash(一个实用工具库)为例:
安装:
npm install lodash
新建文件 lodashDemo.js:
const _ = require('lodash');
const arr = [1, 2, 3, 4, 5];
const shuffledArr = _.shuffle(arr);
console.log(shuffledArr);
运行:
node lodashDemo.js
你会发现输出的数组被随机打乱了。
📌 知识点总结:
npm install 包名安装模块- 安装好的模块通过
require()调用 node_modules文件夹存放所有依赖包
实战项目:用 Node.js 做一个简单的网页服务器
为了加深理解,我们来做一个小项目——一个简单的网页服务器,能根据不同的 URL 返回不同的内容。
项目目标:
- 当用户访问
/时返回“首页” - 当用户访问
/about时返回“关于我们” - 其他路径返回“404 页面不存在”
步骤 1:新建 website.js
const http = require('http');
const server = http.createServer((req, res) => {
let content;
switch(req.url) {
case '/':
content = '首页';
break;
case '/about':
content = '关于我们';
break;
default:
content = '404 页面不存在';
res.writeHead(404, { 'Content-Type': 'text/plain' });
}

res.end(content);
});
server.listen(3000, () => {
console.log('服务器已启动,访问 http://localhost:3000/');
});
步骤 2:运行服务器
node website.js
步骤 3:打开浏览器测试不同地址
- 访问
http://localhost:3000/→ 显示“首页” - 访问
http://localhost:3000/about→ 显示“关于我们” - 访问其他如
http://localhost:3000/contact→ 显示“404 页面不存在”
🎯 到此为止,你已经完成了自己的第一个小型网页服务器!是不是很有成就感?
常见问题解答(FAQ)
问题 1:Node.js 和 JavaScript 有什么区别?
Node.js 是运行 JavaScript 的环境,就像浏览器一样。它本身不是一门新语言,而是让你在服务器上运行 JavaScript。
问题 2:为什么我运行 node 命令的时候提示命令未找到?
请确保你正确安装了 Node.js 并配置了环境变量。可以尝试重新安装 Node.js,或检查系统 PATH 是否包含 Node.js 的安装路径。
问题 3:npm install 报错怎么办?
常见原因包括网络问题、权限不足等。你可以:
- 尝试使用代理镜像,如淘宝源:
npm config set registry https://registry.npmmirror.com/
- 或者使用管理员权限安装:
sudo npm install 包名
问题 4:怎么知道某个模块的功能?
建议去官方文档或 npm 官网 查看模块说明,一般都有详细的用法示例。
学习建议:下一步你可以学什么?
恭喜你完成了从零开始的第一个 Node.js 教程!下面是一些推荐的学习方向:
1. 学习 Express 框架
Express 是一个基于 Node.js 的 Web 框架,可以让服务器开发更加高效。推荐学习内容包括:
- 路由(Router)
- 中间件(Middleware)
- 模板引擎(如 EJS/Pug)
2. 学习 Node.js 异步编程
Node.js 默认是异步的,掌握 Promise、async/await 对写出稳定代码很重要。
3. 数据库存储
尝试连接数据库,比如 MongoDB、MySQL,可以使用 Mongoose、Sequelize 等 ORM 工具。
4. 实践项目
自己动手做一些小项目,比如:
- 博客系统
- API 接口服务
- 文件上传服务器
你可以将这些项目发布到 GitHub,积累作品集。
总结与展望
Node.js 打开了 JavaScript 的大门,让它不仅仅局限于前端,也能做后端开发。今天我们完成了以下内容:
✅ 安装并运行了 Node.js
✅ 学习了模块化、文件操作、HTTP 服务的基本使用
✅ 写了一个能处理多个请求的小型 Web 服务器
✅ 解决了一些初学者常遇到的问题
✅ 给出了下一步的学习建议
随着学习的深入,你会发现 Node.js 的生态非常丰富,能做的事情远比今天展示的多得多。保持好奇心,坚持动手实践,相信你很快就能成为一名出色的开发者!
下一阶段的学习旅程,我们再一起出发吧!

评论 0