← [ BACK_TO_NOTES ]

JavaScript in Node.js

Node.js 运行时中的 JavaScript 总览,解释宿主能力边界、服务端运行时能力与后续阅读主线。

#synthesis #growing #backend #javascript #nodejs

[!info] related notes

Node.js 下的 JavaScript

这篇笔记负责说明:JavaScript 离开浏览器后,在 Node.js 中获得了哪些新的宿主能力。

核心边界

  • 语言层仍然是 JavaScript / ECMAScript
  • 但没有 DOM、BOM、页面渲染
  • 换成了文件系统、进程、网络、模块解析、服务端 I/O 等能力

推荐阅读顺序

  1. V8
  2. libuv
  3. Node.js 运行时架构
  4. commonjs-amd-umd
  5. ES6 模块导入导出
  6. Node.js 事件循环阶段
  7. Node.js MOC

你最需要先建立的边界

浏览器有、Node.js 没有

  • window
  • document
  • DOM / BOM
  • 页面渲染

Node.js 有、浏览器没有

  • 文件系统
  • 进程对象
  • 服务端网络能力
  • CommonJS 历史模块系统

浏览器和 Node.js 都依赖,但都不等于它们自己的东西

  • JavaScript 执行引擎 V8
  • 异步 I/O 调度核心 libuv

也就是说,Chrome 和 Node.js 都可能使用 V8,但它们各自提供的宿主能力完全不同。

回到模块与调度

与浏览器的对照入口

对照阅读:浏览器中的 JavaScript

如果要按知识地图分组浏览,去 Node.js MOC。

学习检查

不看正文回答:

  1. ECMAScript 与 Node.js Host Runtime 的边界是什么?
  2. 为什么 Node.js 没有 DOM,却拥有 fs、process、server-side networking 等能力?
  3. V8 与 libuv 分别在 Node.js Runtime 里承担什么角色?
  4. 为什么“Node.js 默认只有一条 JS 执行主线”不等于“整个 Node.js 只有一个线程”?
  5. CommonJS / ESM 属于语言、Node Host 还是模块加载体系中的哪一层?
  6. 给一段同时读文件、开 HTTP server、执行 Promise 的代码,指出语言能力与宿主能力分别来自哪里。
创建于 2025/1/1 更新于 2026/9/30
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本