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

你有没有想过,为什么我们在浏览器里写的JavaScript代码只能运行在网页上,而不能访问电脑的文件系统或搭建网站服务器呢?这是因为浏览器为了安全考虑,对JavaScript做了很多限制。
而今天我们要介绍的 Node.js 就是让JavaScript突破这些限制的关键技术。
通俗解释一下:
Node.js 不是一个编程语言,而是一个“工具包”,它可以让我们使用 JavaScript 来编写运行在电脑上的程序,甚至可以直接用JavaScript来构建一个网站服务器!
换句话说,有了Node.js,你就可以像写网页一样写服务器程序,再也不用学PHP、Java或者Python去干类似的事情了。
Node.js常用于做什么?
- 构建网站服务器(就像Apache或者Nginx那样)
- 实现后端接口(API),供前端调用
- 操作本地电脑的文件和文件夹(比如读取Excel数据生成报表)
- 构建自动化工具(例如自动压缩图片、打包项目资源等)
总之,它把JavaScript带进了更广阔的世界。现在我们就从零开始入门吧!
二、环境准备:安装Node.js并配置开发工具

我们先来做最基础也是最重要的一步 —— 安装Node.js,并确认它是否安装成功。
第1步:下载安装包
前往官方网址 https://nodejs.org
你会看到两个版本:
- LTS版(推荐):适合初学者使用的长期稳定支持版本
- Current版:最新功能更多,但可能存在兼容性问题
点击【LTS】的“Download”按钮,下载对应操作系统(Windows / macOS / Linux)的安装包。
第2步:安装Node.js
双击安装包按照提示一步步完成安装即可。
安装完毕后,请打开你的终端或命令行工具(Windows可以用CMD或PowerShell,macOS/Linux可用Terminal)输入以下命令:
node -v
如果输出类似这样的内容:
v18.17.0
说明 Node.js 已经成功安装了!
再输入这个命令,查看npm是否也安装好了:
npm -v
npm 是 Node.js 的一个重要组成部分,后面我们会详细讲它的用途。
第3步:准备开发工具
你可以选择任何文本编辑器写Node.js代码,但我们推荐使用 Visual Studio Code(简称 VSCode),因为它免费、功能强大,并且非常受开发者欢迎。
下载地址:https://code.visualstudio.com/
安装完成后,你可以新建一个文件夹作为我们的项目目录,然后通过VSCode打开它进行后续开发。
三、核心概念讲解:从Hello World说起

我们以最经典的 Hello World 例子开始,让你快速理解 Node.js 最基本的使用方式。
示例1:最简单的Node.js程序
在你创建的项目文件夹中新建一个文件,命名为 app.js,写入以下内容:
console.log("Hello, Node.js!");
保存后,在终端中执行如下命令运行这段代码:
node app.js
你应该会看到控制台输出:
Hello, Node.js!
没错,这就是一个Node.js程序!我们只是写了一个打印语句,但它不是运行在浏览器里,而是直接跑在你本机上的!
常见问题 Q&A:
👉 问:为什么我执行 node app.js 时报错说找不到命令?
答:请确保你已经正确安装了 Node.js,并在终端里输入了 node -v 成功看到了版本号。如果不是,请尝试重新安装。
示例2:Node.js的模块系统与内置模块
Node.js 是如何组织代码的?
Node.js 遵循的是模块化设计思想,每一个 JS 文件都是一个独立的模块。我们可以很方便地导入其它模块的功能。
Node.js 自带了一些常用模块,例如:
fs:文件系统模块,用来操作文件http:网络通信模块,可以创建 Web 服务器path:路径处理模块
让我们看个例子,使用 fs 模块读取一个文件的内容:
新建一个文件 data.txt,里面写一句话:
我是测试文本。
然后修改 app.js 如下:
// 引入 fs 模块
const fs = require('fs');
// 同步读取文件内容
const content = fs.readFileSync('data.txt', 'utf-8');
console.log(content);
运行命令:
node app.js
你能看到输出:
我是测试文本。
是不是很有意思?我们已经在用 JavaScript 操作本地文件了!
小知识点提醒:
require()是 Node.js 中引入模块的传统方式,还有一种现代写法叫import,不过目前初学者建议先使用require()熟悉语法。
示例3:创建第一个服务器
接下来我们用 http 模块做一个最小化的服务器。
修改 app.js 内容如下:
const http = require('http');
const server = http.createServer((req, res) => {
// 设置响应头,告知浏览器这是一个 HTML 页面
res.writeHead(200, { 'Content-Type': 'text/html' });
// 发送响应内容
res.end('<h1>Hello from Node.js Server!</h1>');
});
// 监听3000端口
server.listen(3000, () => {
console.log('Server is running on http://localhost:3000');
});
保存后运行:
node app.js
打开浏览器,访问:http://localhost:3000,你将会看到页面显示:
Hello from Node.js Server!
恭喜你,完成了人生中的第一个Node.js服务器!🎉
四、实战项目:制作一个简易静态文件服务器

在这个项目中,我们将利用前面学到的知识,做一个静态文件服务器 —— 也就是说用户可以通过浏览器访问你电脑上的HTML、CSS、JS等文件。
功能需求:
- 访问根路径
/显示 index.html - 访问其他路径如
/about.html显示对应的HTML文件 - 如果找不到文件,返回404错误
准备文件:
- 在项目文件夹内创建
public子文件夹 - 放入以下两个HTML文件:
index.html 内容:
<h1>首页</h1>
<p><a href="/about.html">关于页面</a></p>
about.html 内容:
<h1>关于我</h1>
<p>这是关于页面。</p>
编写主程序 server.js:
const http = require('http');
const fs = require('fs');
const path = require('path');
const server = http.createServer((req, res) => {
let filePath;
if (req.url === '/') {
filePath = path.join(__dirname, 'public', 'index.html');
} else {
filePath = path.join(__dirname, 'public', req.url);
}
fs.readFile(filePath, (err, content) => {
if (err) {
res.writeHead(404, { 'Content-Type': 'text/html' });
res.end('<h1>404 Not Found</h1>');
} else {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(content);
}
});
});

server.listen(3000, () => {
console.log('服务器启动成功,访问:http://localhost:3000');
});
运行服务器:
node server.js
然后在浏览器中打开:
如果你都看到了相应内容,那就太棒了!你已经掌握了一个完整的Node.js项目的开发流程!
五、常见问题解答:新手最容易遇到的问题
❓1. 我写了 console.log,但是控制台没有输出?
答:检查是否漏掉了运行 node 文件名.js,或者是否有拼写错误。
❓2. 提示“Cannot find module ‘xxx’”
答:可能是你引入了不存在的模块,也可能是该模块需要手动安装。如果是第三方库,需要用 npm install 包名 来安装。
❓3. 为什么有时候 __dirname 和相对路径结果不一样?
答:因为 Node.js 中的当前路径可能并不总是等于你预期的路径位置,使用 __dirname 更加可靠。
❓4. 能不能不安装Node.js就运行代码?
答:不可以。所有Node.js程序都需要 Node.js 运行环境支持。
六、下一步学习建议:继续深入Node.js世界
恭喜你完成了本教程的学习!你现在已经具备了:
- 使用Node.js运行本地程序的能力
- 操作文件系统的基本知识
- 创建Web服务器的经验
接下来你可以继续学习以下几个方向来进一步提升:
1. 掌握npm —— Node.js的包管理工具
npm 是 Node.js 的生态核心之一。你可以通过它安装别人发布的模块,也可以发布自己的模块。
常用命令:
npm init # 初始化项目配置文件 package.json
npm install 包名 # 安装某个模块
npm start # 运行项目预定义的启动脚本
2. 学习Express框架 —— 快速搭建Web应用
Express 是 Node.js 最流行的一个 Web 开发框架,它简化了路由、中间件、请求处理等功能,是进阶的必学内容。
3. 学习异步编程(回调函数、Promise、async/await)
Node.js 天生擅长处理高并发任务,这得益于其非阻塞异步特性。想真正用好Node.js,必须理解异步编程的核心机制。
4. 了解RESTful API的设计与实现
学习如何创建标准化的后端API接口,为前端提供数据服务。
总结
通过这篇文章,你已经迈出了成为全栈开发者的第一步 —— 在服务器端用 JavaScript 写程序。
Node.js 是一个非常好玩、实用又容易上手的技术。只要坚持练习和动手做项目,相信你在未来一定能做出功能强大的网站和工具!
祝你学习愉快,一路向前!🚀

评论 0