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

你可能已经听说过JavaScript,它是网页开发中非常重要的一门语言。通常我们在浏览器中使用它来让网页“动”起来,比如点击按钮、弹出提示框等。
那有没有想过,JavaScript 也能用在网站的“后台”(我们称为服务器端)呢?这就要说到今天的主角 —— Node.js!
简单来说:
- Node.js 是一个 JavaScript 运行环境
- 它允许你在电脑上直接运行 JavaScript 代码,而不仅仅是放在浏览器里
- 它非常适合用来构建网络应用(比如微信小程序后端、电商网站后台、聊天服务器等等)
第一步:搭建你的开发环境

为了学习 Node.js,你需要准备好以下几个基础工具:
✅ 步骤1:安装 Node.js
前往官网下载并安装最新版本的 Node.js:
选择适合你操作系统的版本(推荐 LTS 长期支持版)进行安装。
✅ 步骤2:验证安装是否成功
打开终端(Windows用CMD或PowerShell,Mac/Linux用Terminal),输入以下命令:
node -v
如果出现类似 v18.x.x 或更高版本号,说明安装成功了!
再试试下面这个命令:
npm -v
输出一个版本号也表示 Node.js 的包管理器 NPM 也安装好了。
⚠️ 小贴士:NPM(Node Package Manager)就像是 JavaScript 生态系统里的“软件市场”,我们可以用它快速安装各种现成的功能模块。
核心概念讲解:理解 Node.js 基础知识
让我们先掌握几个最基本的概念。
1. 使用 Node.js 执行 JS 文件
以前我们写的 JavaScript 必须放到 HTML 页面里才能执行。现在我们可以创建一个 .js 文件,用 Node 来运行它。
示例:
新建一个文件 hello.js,内容如下:
console.log("Hello, 我是 Node.js!");
然后在终端进入该文件所在的目录,运行:
node hello.js
你会看到终端打印出一行文字:“Hello, 我是 Node.js!”
✅ 这就是你用 Node.js 写的第一个程序!
2. 模块系统简介(Module System)
在 Node.js 中,你可以把代码分成多个小块,每个小块就是一个“模块”。
比如我们来写一个计算模块:
新建 math.js 文件:
function add(a, b) {
return a + b;
}
// 把函数暴露出去
module.exports = { add };
然后再建一个 useMath.js 文件来调用它:
const math = require('./math');
let result = math.add(5, 3);
console.log("结果是:" + result);
运行这个文件:
node useMath.js
你会看到输出:
结果是:8
✅ 很酷吧?这就叫模块化编程,非常方便组织项目结构。
3. 构建简单的 HTTP 服务器
接下来我们要做一个最简单的网页服务器,它可以接收请求,返回一段文本。
示例:创建 server.js 文件:
const http = require('http');
const server = http.createServer((req, res) => {
res.statusCode = 200; // 状态码200表示一切正常
res.setHeader('Content-Type', 'text/plain'); // 设置响应头
res.end('你好,这是我的第一个Node.js服务器!\n');
});
server.listen(3000, '127.0.0.1', () => {
console.log('服务器正在监听3000端口...');
});
运行它:
node server.js
打开浏览器访问:
🔗 http://localhost:3000
你会看到页面显示:
你好,这是我的第一个Node.js服务器!
✅ 恭喜,你刚刚搭建了一个真正的“网页服务器”!
实战项目:做个小任务管理系统(To-do List)
为了更深入地练习 Node.js,我们来做个小项目 —— 一个基于命令行的任务管理工具。
功能要求:
- 添加任务
- 显示所有任务
- 删除某个任务
我们不连接数据库,只先把它保存在内存中。
✅ 第1步:创建基本结构
创建一个文件 todo.js,加入以下内容:
let tasks = [];
function addTask(task) {
tasks.push(task);
console.log("新增任务:" + task);
}
function listTasks() {
console.log("\n当前所有任务:");
for (let i = 0; i < tasks.length; i++) {
console.log(`${i + 1}. ${tasks[i]}`);
}
}
function deleteTask(index) {
if (index >= 0 && index < tasks.length) {
let removed = tasks.splice(index, 1);
console.log("已删除任务:" + removed[0]);
} else {
console.log("无效的编号!");
}
}
✅ 第2步:添加交互入口
继续完善 todo.js 文件,在后面添加:
// 模拟用户交互
addTask("买菜");
addTask("健身");
listTasks();
deleteTask(0);
listTasks();
运行一下看看效果:
node todo.js
你会发现它打印出任务列表,并完成了删除操作。
✅ 当然,这只是个简单的模拟,下一步我们可以扩展成通过命令行参数控制。
✅ 第3步:支持命令行参数
让我们让它真正成为一个可以使用的工具,例如:
node todo.js add "写代码"
node todo.js list
node todo.js delete 1
修改 todo.js:
let tasks = [];
function addTask(task) {
tasks.push(task);
console.log("新增任务:" + task);
}
function listTasks() {
console.log("\n当前所有任务:");
for (let i = 0; i < tasks.length; i++) {
console.log(`${i + 1}. ${tasks[i]}`);
}
}
function deleteTask(index) {
if (index >= 0 && index < tasks.length) {
let removed = tasks.splice(index, 1);
console.log("已删除任务:" + removed[0]);
} else {
console.log("无效的编号!");
}
}
// 处理命令行参数
const args = process.argv.slice(2); // 获取命令行参数
switch (args[0]) {
case 'add':
addTask(args[1]);
break;
case 'list':
listTasks();
break;
case 'delete':
deleteTask(parseInt(args[1]) - 1); // 用户输入从1开始
break;
default:
console.log("命令错误!请使用 add/list/delete");
}
测试命令如下:
node todo.js add "完成Node.js教程"
node todo.js list
node todo.js delete 1
✅ 你现在拥有了一个完整的命令行任务管理器!
新手常见问题解答
在学习的过程中,你可能会遇到一些常见问题,下面是几个最常见的:
❓Q1: 为什么我要学 Node.js 而不是其他语言?
👉 回答:如果你已经有 JavaScript 的基础,那么学习 Node.js 几乎没有额外成本。Node.js 和前端共享同一种语言,便于统一技能栈,同时也拥有庞大的生态和社区支持,适合快速开发各种 Web 应用、API 接口、服务端脚本等。
❓Q2: Node.js 可以用来做什么实际项目?
👉 回答:非常广泛,比如:
- 后台 API 服务器(如电商平台订单接口)
- 聊天服务器(WebSocket)
- 自动化脚本(打包、部署、数据抓取)
- 桌面应用(配合 Electron)
- 即时通讯、游戏服务器等高性能服务
❓Q3: Node.js 性能好不好?适合高并发吗?
👉 回答:Node.js 最大的特点就是异步非阻塞IO模型,非常适合处理大量并发请求。虽然不是万能的,但在Web场景下表现非常出色,很多大型企业(如LinkedIn、Netflix)都在使用。
❓Q4: 学完 Node.js 后还能学什么?
👉 回答:建议继续学习:
- Express.js(Node.js 最流行的 Web 框架)
- 数据库(MongoDB、MySQL、PostgreSQL)
- RESTful API 设计
- JWT 认证 / Session 管理
- Docker 容器部署
- 微服务架构入门
学习建议:接下来该怎么学?
恭喜你完成了这个入门教程!以下是几点后续学习的建议:
🔹 1. 继续实践小项目
多动手是提高最快的途径。你可以尝试:
- 创建一个天气查询API接口
- 搭建一个个人博客网站
- 制作一个简易的聊天室
- 用Express.js开发REST API
🔹 2. 学习 Express 框架
Express 是一个轻量但强大的框架,能帮助你更快搭建完整的服务端应用。学会 Express 后,你可以轻松应对大多数 Web 后端需求。
🔹 3. 掌握数据库操作
几乎所有的项目都需要存储数据,学习 MongoDB(NoSQL)或 MySQL(关系型数据库)是必须的技能。
🔹 4. 加入开发者社区
参与技术交流群、论坛,可以帮助你获得最新的资源和解决疑难问题。
- GitHub
- Stack Overflow
- CSDN/Bilibili/知乎
- Discord、QQ群、微信群
结语:坚持就是进步!
学习任何一门新技能都不是一件容易的事。Node.js 是现代前端工程师通向全栈开发的重要一步。
只要你按照本文的方法一步步跟着写代码,动手实践,就一定能掌握它的核心用法!
祝你学得愉快,早日成为独当一面的 Web 开发高手 💪!
📝 如果你对这篇文章有任何问题或想要进一步的学习资料,请留言告诉我!我会持续更新更多新手友好的课程!

评论 0