node.js详解
文章目录
一、 什么是 Node.js?
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,用于构建高性能网络应用。
- 由 Ryan Dahl 于 2009 年发布。
- 允许你在服务器端使用 JavaScript 编程(以前 JS 只能在浏览器里跑)。
- 异步 I/O、事件驱动、非阻塞模型,适合处理大量并发连接。
二、 Node.js 的核心组成
三、 Node.js 的运行机制(事件循环)
Node.js 使用单线程模型处理异步操作,主要依靠 事件循环(Event Loop)机制。
流程图:
┌────────────────────────────────────┐ │ Node.js 应用启动 │ └────────────────────────────────────┘ ↓ 初始化事件循环 + 加载脚本 ↓ ┌────┬────┬────┬────┬────┬────┐ │timers │pending│idle │poll │check│close│ └────┴────┴────┴────┴────┴────┘ ↑ ↑ setTimeout 网络/IO完成
事件循环处理任务的顺序:
- timers(定时器)
- pending callbacks
- idle, prepare
- poll(处理 IO)
- check(
setImmediate()
) - close callbacks
四、 常见内置模块(无需安装)
fs
http
/ https
path
url
events
child_process
stream
os
示例:创建一个 HTTP 服务器
const http = require(\'http\');const server = http.createServer((req, res) => { res.end(\'Hello Node.js\');});server.listen(3000, () => console.log(\'Server running on port 3000\'));
五、 应用场景
Node.js 的特点是轻量、高并发、低延迟,适合:
六、 npm 包生态
全世界最大的开源模块仓库,超过 200 万个包。
常用模块:
express
cors
axios
body-parser
sequelize
socket.io
nodemon
七、 Node.js 适合哪些人?
- 前端开发者:能让你用 JavaScript 写完整项目(前后端)。
- 初学者:上手快、文档丰富、生态成熟。
- 后端开发者:适合构建轻量 API、高并发场景。
- DevOps/全栈开发者:用于自动化工具、构建 CLI、运维脚本。