Node.js 基础概要
Node.js
是什么
Node.js
不是一门独立的编程语言Node.js
不是一个 JavaScript 框架Node.js
是一个基于 Chrome V8 引擎构建的 JavaScript 运行时(runtime),允许你在服务器端运行 JavaScript 代码。
简单来说:Node.js = JavaScript + 系统能力(文件、网络、进程等)
Node.js
和 JavaScript
的关系是什么
- JavaScript 最初是为浏览器设计的脚本语言,用于操作 DOM、处理用户交互等。
- Node.js 扩展了 JavaScript 的能力边界,通过内置模块(如
fs
、http
、path
等)让 JS 可以:- 读写文件系统
- 启动 HTTP 服务器
- 操作操作系统进程
- 连接数据库等
✅ 因此,Node.js 是 JavaScript 在服务端的运行环境,两者是“语言”与“执行平台”的关系。
Node.js 能做什么
Node.js 凭借其非阻塞 I/O和事件驱动架构,特别适合以下场景:
🌐 Web 服务开发
- 构建 RESTful API、GraphQL 服务
- 作为中间层(BFF:Backend For Frontend)
- 实时应用(如聊天室、在线协作工具)
📦 工具链与脚本
- 构建工具(如 Vite、Webpack、Rollup)
- 命令行工具(CLI)
- 自动化脚本(文件处理、部署等)
📡 实时通信
- 使用 WebSocket 或 Socket.IO 实现实时数据推送
- 物联网(IoT)设备通信后端
🧪 全栈开发
- 前后端统一使用 JavaScript(如 Vue/React + Express/NestJS)
- 提高开发效率,降低上下文切换成本
📁 文件与数据处理
- 批量处理图片、日志、CSV/JSON 数据
- 生成 PDF、Excel 等文档
💡 虽然 Node.js 不适合 CPU 密集型任务(如视频编码、复杂计算),但可通过 Worker Threads 或调用原生模块优化。
小结
项目 | 说明 |
---|---|
核心本质 | JavaScript 运行时 |
运行环境 | 服务端 / 命令行 |
编程模型 | 事件驱动、非阻塞 I/O |
典型用途 | Web 服务、工具开发、实时应用、全栈开发 |