JavaScript in Node.js
Node.js 运行时中的 JavaScript 总览,解释宿主能力边界、服务端运行时能力与后续阅读主线。
#type / synthesis
#status / growing
#tech / dev / backend
#resource / javascript
#resource / nodejs
[!info] related notes
- 所属 MOC: javascript-in-nodejs-moc, javascript-moc
- 上位主题: JavaScript的工程化与运行时
- 相关概念: V8, libuv, commonjs-amd-umd, es6-module-import-export, Node.js 运行时架构, Node.js 事件循环阶段, Node.js MOC
- Node 核心模块: event-emitter, [[buffer]], Stream, worker-threads, package-json
- 并列概念: javascript-in-browser
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-module-pattern
- 服务端事件循环:Node.js 事件循环阶段
- 浏览器与 Node 对照:js-event-loop
与浏览器的对照入口
如果要按知识地图分组浏览,去 javascript-in-nodejs-moc。