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

在正式开始学习之前,我们先来简单了解一下 Node.js 是什么东西。
1.1 Node.js 是什么?
Node.js 是一种运行 JavaScript 的工具。你可能知道 JavaScript 主要是用在网页上的脚本语言(例如用来做动态效果),但以前这种语言只能在浏览器中运行。
而 Node.js 让我们可以在电脑上、服务器里直接运行 JavaScript!也就是说,你现在可以只用 JavaScript 这一门语言,既写前端代码,也写后端服务,实现整个网站的功能。
1.2 Node.js 能用来做什么?
Node.js 最常见的用途包括:
- 搭建一个网站的后端服务器
- 创建 API 接口供手机 App 或前端调用
- 处理文件上传、读取和操作数据库
- 开发命令行工具(CLI)
- 进行自动化任务处理(比如批量压缩图片)
1.3 学习 Node.js 需要会什么?
别担心,你只需要掌握一点基础的 JavaScript 知识就足够了。如果你对变量、函数、数组这些概念有一些了解,那就可以轻松入门 Node.js!
二、搭建开发环境:Node.js 和 npm 安装教程

在开始写代码之前,我们要先在电脑上安装必要的开发工具。
2.1 下载并安装 Node.js
- 打开官方网站:https://nodejs.org
- 你会看到两个版本:
- LTS(长期支持版):适合初学者使用,更稳定。
- Current(最新版):功能更新更快,但可能不太稳定。
- 初学者建议下载 LTS 版本。
- 点击对应操作系统的下载链接(Windows/macOS/Linux),然后双击安装包一步步安装即可。
安装完成后,在终端或命令行中输入以下命令检查是否安装成功:
node -v
如果显示类似 v18.17.0 这样的版本号,说明安装成功!
2.2 安装 npm(Node 包管理器)
npm 是 Node.js 自带的包管理工具。就像手机里的 App 商店一样,npm 让我们可以很方便地安装各种现成的功能库(称为“模块”或“包”)。
检查 npm 是否已经安装:
npm -v
如果有版本号出现,恭喜你,npm 已经安装好了。
三、Node.js 核心知识点讲解(通俗易懂)
现在我们开始真正接触 Node.js 的核心内容。
3.1 使用 Node.js 执行 JavaScript 文件
创建一个新的 .js 文件,比如叫 hello.js,里面输入以下代码:
console.log("Hello, Node.js!");
在终端/命令行中进入这个文件所在的目录,然后执行:
node hello.js
你就会看到控制台输出:
Hello, Node.js!
小提示:这其实就是 Node.js 做的事情 —— 把写好的 JS 代码当成程序一样跑起来。
3.2 Node.js 中的核心模块介绍
Node.js 提供了很多内置模块,可以帮助我们完成各种任务。下面我们介绍几个最常用的模块。
① fs 模块(文件系统)
用于读写本地文件。
// 写文件
const fs = require('fs');
fs.writeFileSync('hello.txt', '这是写入的内容');
console.log('文件已创建并写入内容');
// 读文件
const content = fs.readFileSync('hello.txt', 'utf-8');
console.log('文件内容:', content);
② path 模块(路径处理)
处理文件路径时非常有用:
const path = require('path');
const fullPath = path.join(__dirname, 'data', 'users.json');
console.log('完整路径是:', fullPath);
③ http 模块(创建服务器)
我们可以用 Node.js 快速搭建一个 Web 服务器!
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('欢迎访问我的第一个 Node 服务器!');
});
server.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000/');
});
打开浏览器访问 http://localhost:3000/,就能看到页面输出的内容啦!
3.3 什么是 npm 和 node_modules?
npm 是 Node.js 的包管理工具。你可以通过它下载其他人写好的模块(即别人封装好的功能代码)。所有通过 npm 安装的模块都放在项目中的 node_modules 文件夹中。
举个例子:安装一个叫 lodash 的通用工具库:
npm install lodash
然后你就可以在自己的代码中使用它:
const _ = require('lodash');
let arr = [1, 2, 2, 3, 3, 4];
let uniqueArr = _.uniq(arr); // 去重
console.log(uniqueArr); // 输出:[1, 2, 3, 4]
3.4 package.json 文件的作用
每个 Node.js 项目都应该有一个 package.json 文件,它是项目的配置文件,用来记录:
- 项目名称和描述
- 当前使用的 Node.js 版本
- 项目依赖项(也就是用到的第三方模块)
- 启动脚本等
创建方式非常简单,在项目根目录下运行:
npm init -y
你就会得到一个默认生成的 package.json 文件。
四、实战项目:用 Node.js 构建一个简易博客系统
我们来动手做一个简单的博客系统吧!目标是:
- 可以添加文章标题和内容
- 展示所有文章列表
4.1 初始化项目结构
创建一个新文件夹 my-blog,并在其中运行:
npm init -y
mkdir data
touch data/posts.json
最终目录结构如下:
my-blog/
├── data/
│ └── posts.json
├── app.js
└── package.json
4.2 编写基本数据读写逻辑
编辑 app.js 文件:
const fs = require('fs');
const path = require('path');
const express = require('express');
const app = express();
const DATA_FILE = path.join(__dirname, 'data', 'posts.json');
function readPosts() {
const data = fs.readFileSync(DATA_FILE, 'utf-8');
return JSON.parse(data || '[]');
}
function writePosts(posts) {
fs.writeFileSync(DATA_FILE, JSON.stringify(posts, null, 2), 'utf-8');
}
// 添加一篇文章
function addPost(title, body) {
const posts = readPosts();
posts.push({ title, body, date: new Date().toISOString() });
writePosts(posts);
}
4.3 构建 Web 接口(需要安装 Express)
Express 是一个非常流行的 Node.js Web 开发框架。我们来用它快速搭建接口。
安装 Express:
npm install express
继续完善 app.js:
// 获取全部文章
app.get('/posts', (req, res) => {
const posts = readPosts();
res.json(posts);
});
// 添加文章
app.post('/add', (req, res) => {
const title = req.query.title;
const body = req.query.body;
if (!title || !body) {
res.status(400).json({ error: '标题和正文不能为空!' });
return;
}
addPost(title, body);
res.json({ message: '文章添加成功!' });
});
app.listen(3000, () => {
console.log('博客系统运行在 http://localhost:3000/');
});
启动服务器:
node app.js
访问接口试试看:
- 查看所有文章:
http://localhost:3000/posts - 添加新文章:
http://localhost:3000/add?title=新文章&body=这是我写的第一篇博客
4.4 页面展示(可选)
如果你想做一个简单的前端页面来查看博客内容,可以用 HTML 发起请求,这里就不详细展开了。想进一步提升的话,可以尝试使用 Vue.js 或 React.js 结合 Node.js 来构建前后端分离的网站哦!
五、常见问题解答(FAQ)
学 Node.js 过程中可能会遇到一些问题,下面列出一些常见的疑问与解决方法:
❓ 问题 1:为什么我运行 Node.js 脚本的时候报错 “Cannot find module xxx”?
✅ 原因:你还没有安装这个模块。
解决方法:使用 npm install 安装缺失的模块:
npm install 模块名
例如:
npm install express
❓ 问题 2:我可以把 Node.js 应用部署上线吗?
✅ 当然可以!有多种方式可以将 Node.js 应用发布出去:
- 使用 VPS(如 DigitalOcean、腾讯云)
- 使用平台如 Heroku、Vercel、Render(提供免费版本)
- 部署到本地服务器或公司内部服务器
❓ 问题 3:Node.js 是不是比 PHP 或 Python 更好?
✅ 其实没有哪个技术绝对更好。Node.js 更适合:
- 实时交互类应用(如聊天室、在线协作)
- 全栈 JavaScript 开发者
- I/O 密集型任务(比如处理大量并发连接)
❓ 问题 4:Node.js 性能如何?适合高并发吗?
✅ Node.js 使用事件驱动模型,非阻塞 I/O,在高并发场景下表现出色,是很多企业后台服务的选择之一,比如 Netflix、PayPal、LinkedIn 等都有采用。
六、下一步学习建议
完成了本教程之后,你已经掌握了 Node.js 的基本使用和简单的项目开发能力。接下来可以从以下几个方向深入学习:
📌 方向一:深入了解模块和异步编程
- 学习 Node.js 异步编程模式(回调、Promise、async/await)
- 掌握 EventEmitter、Buffer、Stream 等高级模块
📌 方向二:学习 Express 和 RESTful API 设计
- 使用 Express 构建功能完整的后端服务
- 了解 RESTful API 的设计规范
- 学习中间件、路由、请求体处理等内容
📌 方向三:数据库与身份验证
- 学习连接数据库(MySQL、MongoDB、PostgreSQL 等)
- 实现用户注册、登录和权限控制功能
- 使用 JWT 实现 Token 验证机制
📌 方向四:进阶技能拓展
- 使用 WebSocket 构建实时通信应用(聊天、通知等)
- 使用 PM2 管理生产级 Node.js 应用
- 了解 Node.js 在微服务架构中的作用
- 尝试编写 NPM 模块并发布
结语:坚持实践,越写越强!

Node.js 是一个很实用的技术,它的生态丰富,社区活跃,非常适合现代 Web 开发需求。
作为一个刚入门的新手,最重要的不是记住多少概念,而是多动手练习。哪怕每天只写几行代码,也能不断进步。
💡 记住一句话:程序员的能力从来都不是“看”出来的,而是“敲”出来的!
祝你在学习 Node.js 的道路上越走越远,早日写出属于你自己的强大应用!
📌 如需获取本文完整的项目源码或后续学习资料,请关注我们的公众号【前端自习室】或加入我们的学习群一起成长!

评论 0