Node.js

基于 V8 和 libuv 的 JavaScript 运行时,适合 I/O 密集型后端服务、BFF、网关、实时通信与任务编排。

#type / resource #status / growing #tech / dev / backend #resource / nodejs #resource / javascript #platform / server

[!info] related notes

Node.js

这是什么

Node.js 是一个基于 V8 引擎的 JavaScript 运行时。

它让 JavaScript 不再只运行在浏览器里,而是能够直接访问服务端常见能力,例如:

  • 文件系统
  • 网络套接字
  • HTTP 服务
  • 进程与环境变量
  • 流式 I/O

如果只用一句更工程化的话概括:

Node.js 是把 JavaScript 放进服务端宿主环境后的运行时与标准库组合。

它为什么会出现

Node.js 出现的直接背景不是“JavaScript 想抢后端语言地盘”,而是 Web 服务越来越需要:

  • 更高并发的 I/O 处理
  • 更轻量的长连接管理
  • 更少线程资源去承接更多网络等待

它选择用事件驱动和非阻塞 I/O 回答这个问题。更完整的背景见:Node.js 的起源与设计目标

适用平台

  • 服务器端 API 服务
  • BFF 和网关层
  • 实时通信服务
  • CLI 工具
  • 构建脚本与自动化脚本

核心特点 / 优势 / 局限

核心特点

  • JavaScript 语言执行由 V8 负责
  • 异步 I/O 调度主要由 libuv 负责
  • 宿主环境提供 fshttpnetstreamcrypto 等 API
  • 业务代码通常在单个事件循环主线程里执行

优势

  • 非阻塞 I/O 让它很适合高并发接口服务
  • 前后端同语言,协作与共享类型更顺滑
  • 生态成熟,Web、脚本、构建、自动化都很常见
  • 流式处理、事件驱动、任务编排场景落地成本低

局限

  • CPU 密集型任务会阻塞主线程
  • 大量同步计算、同步文件操作或超大 JSON 解析会直接拖慢整个进程
  • 真正需要并行计算时,通常要配合 worker-threads、多进程、队列或拆服务

常见用途

  • Web API / REST 服务
  • GraphQL / BFF 聚合层
  • SSE / WebSocket 实时推送
  • 上传、下载、转发、代理等 I/O 型服务
  • 面向项目工程的脚本、构建链和命令行工具

相关链接 / 官方入口

创建于 2026/5/21 更新于 2026/5/27