JavaScript in Node.js
Node.js 运行时中的 JavaScript 总览,解释宿主能力边界、服务端运行时能力与后续阅读主线。
#type / synthesis
#status / growing
#tech / dev / backend
#resource / javascript
#resource / nodejs
[!info] related notes
- 所属 MOC: Node.js MOC, JavaScript MOC
- 上位主题: JavaScript的工程化与运行时
- 相关概念: V8, libuv, commonjs-amd-umd, ES6 模块导入导出, Node.js 运行时架构, Node.js 事件循环阶段, Node.js MOC
- Node 核心模块: event-emitter, [[buffer]], Stream, Worker 线程, package-json
- 并列概念: 浏览器中的 JavaScript
Node.js 下的 JavaScript
这篇笔记负责说明:JavaScript 离开浏览器后,在 Node.js 中获得了哪些新的宿主能力。
核心边界
- 语言层仍然是 JavaScript / ECMAScript
- 但没有 DOM、BOM、页面渲染
- 换成了文件系统、进程、网络、模块解析、服务端 I/O 等能力
推荐阅读顺序
你最需要先建立的边界
浏览器有、Node.js 没有
windowdocument- DOM / BOM
- 页面渲染
Node.js 有、浏览器没有
- 文件系统
- 进程对象
- 服务端网络能力
- CommonJS 历史模块系统
浏览器和 Node.js 都依赖,但都不等于它们自己的东西
也就是说,Chrome 和 Node.js 都可能使用 V8,但它们各自提供的宿主能力完全不同。
回到模块与调度
- 模块化主线:ECMAScript 模块模式
- 服务端事件循环:Node.js 事件循环阶段
- 浏览器与 Node 对照:JS 事件循环
与浏览器的对照入口
对照阅读:浏览器中的 JavaScript
如果要按知识地图分组浏览,去 Node.js MOC。