Node.js新手教程:从零开始学习服务器端JavaScript
大家好,我是你们的技术培训负责人。带过不少应届生,也见过太多初学者在入门后端开发时被一堆术语吓退。今天我写这篇教程,就是想用最简单的方式,手把手带你迈出后端开发的第一步——用 Node.js 写你的第一个服务器。
我当初学的时候,以为“服务器”是某种神秘的黑盒子,结果发现它其实就是一段能接收请求、返回数据的 JavaScript 代码!只要你会一点基础的 JS,就能上手 Node.js。这篇文章全程实践驱动,没有空话,跟着敲代码,你马上就能看到成果。
一、Node.js 是什么?为什么学它?
简单说:Node.js 让你用 JavaScript 写后端程序。
- 浏览器里跑的是前端 JavaScript(比如点击按钮弹窗)
- Node.js 让 JavaScript 能在电脑上直接运行,处理文件、连接数据库、响应网络请求——这就是后端!
为什么值得学?
- 全栈开发:前后端都用 JavaScript,语言统一
- 生态强大:npm(Node 的包管理器)有超 200 万个开源库
- 应用广泛:很多大公司(如 Netflix、PayPal)用 Node.js 构建服务
- 区块链开发常用:很多区块链项目(如 Ethereum 工具链)基于 Node.js 开发
💡 小知识:虽然区块链本身不是用 Node.js 实现的,但大量区块链的开发工具、测试框架、钱包接口都是用 Node.js 写的。所以学好 Node.js,是你进入 Web3/区块链领域的敲门砖。
二、环境准备:5 分钟搭建开发环境
我们只需要三样东西:
| 工具 | 作用 | 安装方式 |
|---|---|---|
| Node.js | 运行 JavaScript 后端代码 | 官网下载安装 |
| 代码编辑器 | 写代码的地方 | 推荐 VS Code(免费) |
| 终端(命令行) | 执行命令 | Windows 用 PowerShell / CMD;Mac 用 Terminal |
步骤 1:安装 Node.js
- 打开 https://nodejs.org
- 点击 LTS 版本(长期支持版,更稳定)
- 下载并按提示安装
✅ 验证是否安装成功: 打开终端,输入:
node -v npm -v如果看到版本号(比如 v18.17.0),说明安装成功!
步骤 2:创建你的第一个项目
在终端中执行以下命令:
# 创建项目文件夹
mkdir my-first-node-app
cd my-first-node-app
# 初始化项目(会生成 package.json 文件)
npm init -y
package.json 是项目的“身份证”,记录了项目名称、依赖、脚本等信息。
三、核心概念:用最简单的语言讲清楚
1. 模块化(Modules)
Node.js 把代码分成一个个“模块”,你可以把功能封装起来,需要时再引入。
- 自己写的模块:用
require()引入 - 别人写的模块(npm 包):先
npm install,再require()
2. npm(Node Package Manager)
就像 App Store,你可以在这里下载别人写好的功能包。
比如想用日期处理库 dayjs:
npm install dayjs
然后在代码中使用:
const dayjs = require('dayjs');
console.log(dayjs().format('YYYY-MM-DD'));
3. 事件驱动 & 非阻塞 I/O
这是 Node.js 高性能的关键,但初学者不用深究。你只要记住:
Node.js 不会因为一个任务慢就卡住整个程序,它会继续处理其他请求。
四、实战项目:用 Node.js 写一个简易 API 服务器
我们将创建一个能返回“用户信息”的 Web 服务器。完成后,你在浏览器访问 http://localhost:3000/users 就能看到数据!
步骤 1:安装 Web 框架 Express
Express 是 Node.js 最流行的 Web 框架,简化了服务器开发。
npm install express
步骤 2:创建服务器文件 server.js
在项目根目录新建 server.js,粘贴以下代码:
// 1. 引入 express
const express = require('express');
// 2. 创建应用实例
const app = express();
// 3. 定义一个“用户数据”数组(模拟数据库)
const users = [
{ id: 1, name: 'Alice', role: 'Developer' },
{ id: 2, name: 'Bob', role: 'Designer' },
{ id: 3, name: 'Charlie', role: 'Product Manager' }
];
// 4. 设置路由:当有人访问 /users 时,返回用户列表
app.get('/users', (req, res) => {
res.json(users); // 以 JSON 格式返回数据
});
// 5. 启动服务器,监听 3000 端口
const PORT = 3000;
app.listen(PORT, () => {
console.log(`✅ 服务器已启动!访问 http://localhost:${PORT}/users`);
});
步骤 3:运行服务器
在终端执行:
node server.js
你会看到输出:
✅ 服务器已启动!访问 http://localhost:3000/users
现在打开浏览器,访问 http://localhost:3000/users,你会看到:
[
{"id":1,"name":"Alice","role":"Developer"},
{"id":2,"name":"Bob","role":"Designer"},
{"id":3,"name":"Charlie","role":"Product Manager"}
]
🎉 恭喜!你刚刚写了一个真正的后端 API!
五、进阶一步:把代码上传到 GitHub
作为开发者,学会用 GitHub 管理代码是基本功。我们来把项目存到云端。
步骤 1:注册 GitHub 账号
访问 https://github.com 注册(免费)
步骤 2:初始化 Git 仓库
在项目目录执行:
git init
git add .
git commit -m "feat: initial commit with user API"
步骤 3:创建远程仓库并推送
- 在 GitHub 上点「New repository」,取名
my-first-node-app - 复制仓库地址(如
https://github.com/你的用户名/my-first-node-app.git) - 在终端执行:
git remote add origin https://github.com/你的用户名/my-first-node-app.git
git branch -M main
git push -u origin main
🔒 安全提示:永远不要把敏感信息(如密码、API Key)提交到 GitHub!可以用
.gitignore忽略配置文件。
创建 .gitignore 文件,内容如下:
node_modules/
.env
这样 node_modules(依赖文件夹)就不会被上传,节省空间也避免冲突。
六、新手常见问题解答(FAQ)
❓1. 为什么我的代码改了,服务器没更新?
Node.js 默认不会自动重启。每次修改代码后要:
- 关闭服务器(按
Ctrl + C) - 重新运行
node server.js
解决方案:安装 nodemon,它能监听文件变化自动重启。
npm install -g nodemon
nodemon server.js # 代替 node server.js
❓2. 为什么访问 localhost:3000 报错?
- 确保服务器正在运行(终端没关闭)
- 确保端口没被占用(可以换
PORT = 4000试试) - 检查 URL 是否正确(比如是不是
/users而不是/user)
❓3. require 和 import 有什么区别?
require()是 Node.js 传统的模块引入方式(CommonJS)import是 ES6 新标准,但在 Node.js 中默认不支持(需额外配置)
建议初学者先用 require,简单直接。
❓4. 学 Node.js 对区块链有用吗?
非常有用!举几个例子:
- 使用
ethers.js或web3.js与以太坊交互 - 开发智能合约测试脚本(Hardhat、Truffle 都基于 Node.js)
- 构建去中心化应用(DApp)的后端服务
七、学习建议:下一步怎么走?
你已经完成了第一个 Node.js 项目!接下来可以按这个路径深入:
🗺️ 学习路线图
| 阶段 | 目标 | 推荐实践 |
|---|---|---|
| 基础巩固 | 理解 HTTP、REST API、中间件 | 给 API 添加 /users/:id 查询单个用户 |
| 数据持久化 | 连接数据库 | 用 SQLite 或 MongoDB 存储用户数据 |
| 项目工程化 | 使用现代工具 | 尝试 ES Modules、TypeScript |
| 区块链入门 | 接触 Web3 开发 | 用 ethers.js 读取以太坊区块数据 |
| 部署上线 | 让全世界访问你的服务 | 用 Render 或 Vercel 免费部署 |
⚠️ 避坑指南
- 不要一上来就学框架源码:先会用,再研究原理
- 不要死记命令:多敲几次自然就熟了
- 遇到报错别慌:90% 的错误信息都能在 Google 找到答案
- 每天写代码:哪怕只有 10 分钟,保持手感
结语
我带过的很多应届生,都是从这样一个简单的 server.js 开始,一步步成长为后端工程师,甚至进入区块链领域。技术没有魔法,只有重复的实践。
你现在拥有的,是一个能响应网络请求的服务器——这已经是“后端开发者”的起点了。
下一步,试着:
- 给用户添加“创建”功能(用
app.post) - 把数据存到文件里(用
fs模块) - 把项目分享给朋友看(部署到免费平台)
记住:每一个复杂的系统,都是从 console.log("Hello World") 开始的。
加油!我在技术的路上等你 👨💻

评论 0