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

在我们讲 JavaScript 的时候,你可能已经知道它主要是用来写网页的 —— 比如让按钮能点击、图片轮播动起来、弹出提示框等等。但你知道吗?JavaScript 其实不只是能在浏览器中运行,它也能写“服务器端”的程序!这就是我们要学的 Node.js。
通俗理解:
你可以把服务器想象成一家餐厅的厨房。你点菜(访问网站)的时候,厨师(服务器)根据你的需求来准备食物(返回网页内容)。
Node.js 就是一个工具,让我们用 JavaScript 来当这个“厨师”。
能做什么?
- 做网站后台系统
- 开发 API 接口给手机 App 使用
- 构建实时聊天应用
- 创建命令行小工具
- 大量基于 JavaScript 技术栈的应用开发
所以,如果你已经会了前端 JavaScript,再学 Node.js,就能前后通吃啦!
环境准备:搭建属于自己的Node.js开发环境

想学做饭,总得先有厨房对吧?那我们就一步一步准备好这个“厨房”——开发环境。
Step 1:安装 Node.js 和 npm
👉 官网下载地址:https://nodejs.org/
选择推荐版本(LTS 长期支持版),下载对应系统的安装包并安装。安装完成后:
检查是否安装成功:
打开终端(Windows 是命令行/cmd/PowerShell,Mac 或 Linux 是 Terminal)输入以下命令:
node -v
应该会显示一个版本号,比如 v20.12.0,这说明 Node.js 安装成功。
继续输入:
npm -v
如果输出类似 10.5.0,说明 npm(Node.js 包管理器)也装好了。npm 可以看作是 Node.js 的“软件商城”,我们可以用它安装各种有用的扩展工具。
Step 2:配置代码编辑器(建议使用VS Code)
推荐使用免费且功能强大的代码编辑器:Visual Studio Code(简称 VS Code)
安装完成后做几个设置:
- 安装插件:“ESLint”、“Prettier” (美化代码格式)
- 更改缩进方式为 2 个空格(更符合 JS 社区标准)
现在你就有一个可以写 Node.js 程序的“厨房”了!
Step 3:创建第一个项目文件夹
在电脑上新建一个文件夹,比如叫 my-node-app,并在里面创建一个文件 app.js,这样我们的第一个 Node.js 程序就可以开始了!
核心概念讲解:Node.js 中的关键角色都有谁?


虽然 Node.js 是用 JavaScript 写的,但它和你在网页中写的 JS 有些不一样。因为网页里的是“运行在浏览器里的 JS”,而 Node.js 是“运行在电脑上的 JS”。所以我们需要理解几个新朋友。
1. 模块(Module)
想象你家里的电饭锅、炒菜锅、炖锅…它们都是模块化设备。Node.js 也是一样,通过不同的模块来完成任务。
最常用的一个内置模块是:fs(读写文件用的)
示例:我们用 fs 来创建一个文本文件:
const fs = require('fs');
// 写入文件内容
fs.writeFileSync('hello.txt', 'Hello, this is Node.js!');
console.log('文件已创建');
保存上面代码到 app.js,然后在命令行中运行:
node app.js
你会在当前目录看到一个叫 hello.txt 的文件出现了!
2. 事件循环(Event Loop)与异步处理
Node.js 的一大特点就是“异步非阻塞”,这听起来很专业,其实意思是:
它不会等一个任务做完才做下一个任务,而是同时处理多个任务。
比如你想煮饭又想烧水,传统程序会说:“我先煮饭,煮完再烧水。”
而 Node.js 会说:“我去下米,顺便打个水,等饭煮好我就去关火。”
这就叫 异步,Node.js 的核心机制之一。
举个例子:
console.log("1. 开始执行");
setTimeout(() => {
console.log("2. 异步任务完成");
}, 2000); // 等待两秒
console.log("3. 继续执行");
运行结果可能是:
1. 开始执行
3. 继续执行
2. 异步任务完成
这说明 Node.js 并不会停住等 setTimeout 结束才往下执行代码,而是先去做后面的事。
3. REPL(Read-Eval-Print Loop)
REPL 是 Node.js 自带的交互式编程工具,特别适合练手或测试小段代码。
打开终端,直接输入:
node
就进入交互模式了,尝试输入:
1 + 2
按回车马上就会得到结果:3
退出 REPL 模式只需要输入 .exit 或按下 Ctrl+C 两次。
4. 文件结构常见组成
一个简单的 Node.js 项目通常长这样:
my-node-app/
├── app.js # 主程序入口
├── package.json # 描述项目信息,依赖项清单
└── utils/
└── helpers.js # 放一些公共函数的工具文件夹
别担心这些概念还没完全理解,我们下面会一步步构建它们的实际用途。
实战项目:用Node.js做一个“打招呼机器人”
现在我们来做一个超简单的项目:创建一个命令行“打招呼机器人”
它的功能是:询问用户名字,并输出欢迎语句。
第一步:创建基本入口文件 app.js
在你的项目根目录下创建 app.js,输入以下内容:
console.log("你好,我是打招呼机器人!");
运行看看:
node app.js
你应该能看到一句话“你好,我是打招呼机器人!”
第二步:引入 readline 模块,让用户输入名字
Node.js 提供了一个叫做 readline 的模块,用于监听用户的键盘输入。
修改 app.js 内容如下:
const readline = require('readline');
// 创建 readline 接口实例
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('请问您怎么称呼?', (name) => {
console.log(`欢迎您,${name}!`);
// 关闭接口
rl.close();
});
再次运行程序,试试输入你的名字吧!
第三步:添加更多功能,例如时间问候
我们来升级一下机器人:让它根据时间给出不同的欢迎语。
修改代码如下:
const readline = require('readline');
const currentTime = new Date().getHours(); // 获取当前小时数
let greeting = '晚上好';
if (currentTime < 12) {
greeting = '早上好';
} else if (currentTime < 18) {
greeting = '下午好';
}
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('请问您怎么称呼?', (name) => {
console.log(`${greeting},${name}!`);
rl.close();
});
现在,机器人不仅会记住你的名字,还会在早上说“早上好”,傍晚说“下午好”或者“晚上好”哦!
扩展小技巧:用 package.json 记录你的项目信息
还记得之前提到的 package.json 文件吗?这是一个描述你项目的“身份证”,记录了项目的名称、版本、依赖等。
生成方式很简单,在项目根目录运行:
npm init -y
这个命令会自动生成一个默认的 package.json 文件,内容大致如下:
{
"name": "my-node-app",
"version": "1.0.0",
"description": "",
"main": "app.js"
}
之后如果你要添加其他模块(比如 express 做网站服务器),可以用 npm 自动下载并在这里记录依赖。
新手常见问题解答
Q1:Node.js 和 JavaScript 是一样的吗?
答:Node.js 是 JavaScript 在服务器端的一种运行平台,两者语法一致,但运行环境不同。JS 主要在浏览器中跑,而 Node.js 是在电脑或服务器上跑。
Q2:为什么有时候 node 命令报错找不到模块?
答:你可能忘记安装某些模块。Node.js 内置了一些模块(如 fs, path, os 等),但有些第三方库(如 express)需要通过 npm install express 来安装才能用。
Q3:我可以在没有互联网的情况下使用 Node.js 吗?
答:可以。一旦你安装好了必要的模块,Node.js 可以本地离线运行。不过第一次安装包时需要联网。
Q4:Node.js 是不是只能写后端?
答:当然不是。Node.js 不仅可用来构建网站后台(如 REST API),还能用来制作命令行工具、自动发布脚本、构建前端项目甚至爬虫等。
学习建议:下一步该往哪里走?

恭喜你完成了第一篇 Node.js 教程!你现在已经有能力写出命令行小程序了!
以下是几个建议的学习路径:
✅ 初级阶段:
- 学习使用 Express 框架创建简单 Web 服务器
- 学习 Node.js 的 http、url、querystring 模块
- 了解 package.json 和 npm 的基本用法
- 掌握异步编程中的 Promise 与 async/await
💡 推荐学习资源:
- 官方文档:https://nodejs.org/api/(英文版)
- 书籍:《Node.js实战》《Node.js开发指南》
- 视频课:B站搜索“Node.js 零基础入门”
🔄 项目练手方向:
- 编写一个天气查询命令行工具(调用开放API)
- 开发一个静态网站服务器
- 创建一个简易博客后端 API(配合 MongoDB)
总结
在本文中,我们:
- 简单介绍了 Node.js 是什么以及它的用途;
- 搭建了完整的开发环境;
- 解释了 Node.js 的关键概念并通过实际代码展示;
- 实践了一个打招呼机器人的完整项目;
- 回答了初学者常遇到的问题;
- 还提供了后续学习的路径建议。
Node.js 是一门非常强大又实用的技术,只要你愿意动手练习,每天都能收获新的成长!
接下来,就可以勇敢地探索 Express、MongoDB、RESTful API、部署 Node 应用等内容了!
一起加油,Happy Coding!🌟

评论 0