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

你可能已经听说过 JavaScript,这是一门常用于网页开发的编程语言,用来让网页“动起来”,比如弹出提示框、切换按钮状态、加载数据等。
那 Node.js 是什么呢?
简单地说,Node.js 就是让 JavaScript 能在浏览器之外运行的工具。也就是说,原本只能写“前端”的 JavaScript,现在也能用来写“后端”了!
那我为什么要学 Node.js 呢?
- ✅ 你已经掌握 JavaScript,可以一技两用
- ✅ 可以用来搭建网站服务器、处理文件、操作数据库
- ✅ 社区活跃,生态强大,很多热门框架(如 Express、Koa)都是基于它的
- ✅ 是现代全栈开发的重要技能之一
如果你是一个完全没有后端经验的小白,那就让我们从最基础开始吧!
环境准备:安装和配置你的第一个 Node.js 环境

要想使用 Node.js,首先要把它安装到你的电脑上。
步骤 1:下载 Node.js 安装包
你会看到两个版本:
- LTS 版本(长期支持版) – 推荐新用户使用,更稳定
- Current 最新版 – 功能多但不稳定,建议有经验后再使用
点击 LTS 版本对应的 Download 按钮下载安装包。
步骤 2:安装 Node.js
Windows 和 Mac 用户双击安装包后,一路点“下一步”即可完成安装。
安装完成后,我们来验证是否成功。
步骤 3:验证安装是否成功
打开终端(Mac/Linux)或命令行 CMD/PowerShell(Windows),输入下面两条命令:
node -v
回车后你应该能看到类似 v18.17.1 的输出(具体版本号可能不同)。
接着运行:
npm -v
你也应该能看到 npm 的版本号,比如 9.x.x。
✅ 出现版本号说明安装成功!如果没有显示,请重新安装或者查看是否有拼写错误。
补充小知识:什么是 npm?
npm(Node Package Manager) 是随着 Node.js 一起安装的包管理器。你可以把它理解为一个“应用商店”,里面有很多别人写好的代码模块(称为 package),我们可以轻松地引入项目中使用。例如:
npm install express
这样就能安装一个叫 express 的框架,我们后面会讲到它。
核心概念:理解 Node.js 的基础原理和关键术语
为了帮助你更好地理解接下来的内容,我们先了解几个核心概念。
概念 1:模块(Module)
Node.js 中的代码通常是以模块为单位组织的。模块就是一个 .js 文件,它可以被其他文件调用。例如:
👉 创建一个文件:greet.js
function sayHello(name) {
console.log(`你好,${name}!`);
}
// 导出函数
module.exports = sayHello;
👉 再创建另一个文件:main.js
// 引入 greet.js 模块
const greet = require('./greet');
greet('小明'); // 输出:你好,小明!
执行 main.js:
node main.js
你就看到输出了!
概念 2:Node.js 是单线程的异步非阻塞 I/O 模型
这话听起来很专业对吧?别担心,我们用一个小比喻来说清楚:
如果 JavaScript 是一家咖啡店,那传统的同步模式就像一次只能做一个订单,前面顾客卡住了,后面的都得排队。
而 Node.js 不一样,它允许同时接待多个顾客——虽然只有一个员工(单线程),但这个员工特别高效,不等某个顾客做完就立刻去做下一个任务。
所以 Node.js 很适合处理高并发请求,例如多人在线聊天、实时通知系统等。
概念 3:事件驱动(Event-driven)
Node.js 支持监听事件,并做出响应。比如点击按钮、收到网络请求等等。
举个例子:
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
// 监听事件
myEmitter.on('hello', () => {
console.log('有人触发了 hello 事件');
});
// 触发事件
myEmitter.emit('hello');
输出结果就是:
有人触发了 hello 事件
这在编写复杂的后端逻辑时非常有用。
实战项目:动手写一个简单的 Web 服务器
现在我们来实践一下,用 Node.js 搭建一个最基础的 Web 服务器,当用户访问我们的网站,就能看到一句欢迎语句。
第一步:创建项目目录
打开终端,在你喜欢的位置创建一个项目文件夹,例如:
mkdir myserver
cd myserver
再创建一个 server.js 文件:
touch server.js
用你喜欢的文本编辑器打开 server.js,开始写代码。
第二步:写一个最简单的服务器程序
把以下代码粘贴到 server.js 文件里:
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('欢迎来到我的 Node.js 服务器!');
});
const PORT = 3000;
server.listen(PORT, () => {
console.log(`服务器已启动,访问 http://localhost:${PORT}`);
});
保存文件,回到终端运行:
node server.js
终端会输出:
服务器已启动,访问 http://localhost:3000
然后用浏览器打开地址:http://localhost:3000
你就会看到页面上显示一句话:
欢迎来到我的 Node.js 服务器!
🎉 太棒了,你刚刚写出了自己的第一个 Node.js Web 应用!
第三步:添加 HTML 支持
现在我们让它能显示 HTML 页面内容。修改 server.js:
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('<h1>欢迎来到我的网页!</h1><p>这是用 Node.js 做的服务器。</p>');
});
const PORT = 3000;
server.listen(PORT, () => {
console.log(`服务器已启动,访问 http://localhost:${PORT}`);
});
重启服务器(Ctrl + C 停止当前进程,再运行 node server.js)
刷新浏览器,你会发现字体变大了,并且加粗了 —— 因为我们返回的是 HTML!
常见问题解答:初学者容易遇到的问题与解决办法
❓Q1:为什么 node 指令无效?
- ✅ 解决办法:
- 确保正确安装了 Node.js
- 检查命令是否输错:应该是
node xxx.js而不是nodes或nod等 - Windows 上尝试重启终端或重装 Node.js
❓Q2:运行服务器时提示 “Port already in use”
- ✅ 解决办法:
- 这表示端口已经被别的程序占用了(比如之前没有关掉的服务器)
- 修改端口号,比如改为
const PORT = 3001; - 或者结束占用该端口的进程
❓Q3:服务器一直没反应,页面打不开怎么办?
- ✅ 解决办法:
- 确认服务是否运行起来了(看看终端有没有启动成功的提示)
- 检查浏览器地址是否正确:默认是 localhost:3000
- 是否防火墙设置阻止了访问本地服务器(极少见)
❓Q4:怎么调试 Node.js 代码?
- ✅ 使用
console.log()输出调试信息是最常用的方法 - 也可以使用 VS Code 自带调试功能
- 学习后期可以用调试器
node --inspect启动
下一步学习路径:继续进阶的方向

恭喜你完成了第一个 Node.js 应用!但学习才刚刚开始。以下是推荐的学习路线图:
🧩 1. 学习 Express 框架(简化 Web 开发)
Express 是目前使用最广泛的 Node.js Web 开发框架,可以帮助我们更高效地构建路由、中间件、模板渲染等功能。
npm install express
📂 2. 处理文件上传与读写
Node.js 提供了强大的 fs(file system)模块,可以进行文件的增删改查操作。
💾 3. 连接数据库(如 MySQL / MongoDB)
- 学习如何连接数据库并做增删改查(CRUD)
- 了解 ORM 工具如 Mongoose(MongoDB)或 Sequelize(MySQL)
🔐 4. 添加登录认证机制(JWT)
为你的网站加入注册、登录、权限控制功能。
🌐 5. 部署上线你的项目
将你的 Node.js 应用部署到云服务器,如使用 Vercel、Heroku、腾讯云、阿里云等平台。
总结:Node.js 初体验
在这篇教程中,我们做了以下事情:
✅ 介绍了 Node.js 是什么以及它是做什么的
✅ 教你一步步安装环境并验证是否成功
✅ 学习了 Node.js 的三大核心概念:模块、事件、异步模型
✅ 通过一个实战项目搭建了一个简单的 Web 服务器
✅ 解答了新手常见的疑问
✅ 给出了下一阶段的学习路线图
只要坚持动手练习,你很快就能成为一个熟练的 Node.js 开发者!
如果你觉得这篇教程对你有帮助,不妨动手敲一遍代码,把今天学到的变成你自己的技能!
🔚 文章结束,Happy Coding!

评论 0