libuv + v8引擎 + node = nodejs

1 获取项目

  • 在github中搜索Node

image.png
image.png
c++部分是核心部分

2 目录说明,项目入口


.
├── AUTHORS
├── BSDmakefile
├── BUILDING.md - 构建指导
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── COLLABORATOR_GUIDE.md
├── CONTRIBUTING.md
├── CPP_STYLE_GUIDE.md
├── LICENSE
├── Makefile - 构建入口
├── README.md
├── SECURITY.md
├── android-configure
├── benchmark
├── common.gypi
├── configure
├── configure.py
├── coverage
├── deps - c++第三方依赖,包括v8,libuv
├── doc
├── lib - 内置 js 模块
├── node.gyp
├── node.gypi
├── src - c++ 源码
├── test
├── tools
└── vcbuild.bat

.
├── BUILDING.md - 构建指导
├── Makefile - 构建入口
├── deps - c++第三方依赖,包括v8,libuv
├── lib - 内置 js 模块
├── src - c++ 源码
image.png

3 如何阅读


从nodejs 的入口js开始阅读:lib/internal/main/run_main_module.js
image.png

参考资料:

1,《nodejs启动过程》 - 张秋怡
https://github.com/joyeecheung/talks/blob/master/node_subway_sep_2019/bootstrap-of-node-core-subway.pdf