Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它让开发者能够使用 JavaScript 编写服务器端代码。
核心特点
-
非阻塞 I/O 模型:Node.js 使用事件驱动、非阻塞 I/O 模型,使其轻量且高效。
-
单线程事件循环:采用单线程事件循环架构,适合 I/O 密集型应用。
-
跨平台:可在 Windows、Linux、Unix、Mac OS X 等平台上运行。
-
npm 生态系统:拥有全球最大的开源库生态系统(npm)。
基本架构
// 引入内置http模块
const http = require('http');
// 创建服务器
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
});
// 监听3000端口
server.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
主要模块
-
fs - 文件系统操作
-
http/https - 创建HTTP服务器和客户端
-
path - 处理文件路径
-
os - 操作系统相关信息
-
events - 事件处理
-
stream - 流操作
优势
-
高性能:适合实时应用(聊天、游戏服务器等)
-
代码共享:前后端使用同种语言
-
快速开发:丰富的npm模块
-
可扩展:微服务架构友好
适用场景
-
API 服务
-
实时应用(聊天、协作工具)
-
数据流应用
-
单页应用后端
-
微服务架构
学习路径建议
-
掌握 JavaScript 基础
-
学习 Node.js 核心模块
-
掌握 Express/Koa 等框架
-
学习数据库集成
-
了解异步编程模式
Node.js 使得 JavaScript 成为全栈开发语言,大大简化了现代Web应用的开发流程。