13源码解读:Node 的程序架构及启动流程

本文从源码角度剖析Node.js的程序架构,解释Node的三层结构:对外API、桥接层和C/C++库,以及V8引擎在其中的角色。文章通过命令行交互展示Node的全局对象、模块加载过程,并详细描述了Node从main函数开始的启动流程,包括Start函数的调用关系,最终揭示了Node如何准备环境并执行JS代码。
摘要由CSDN通过智能技术生成

源码解读:Node 的程序架构及启动流程

本节有一定理解难度,建议新手同学在完成前面章节后,再来消化本节。

在这里插入图片描述

通常,网上搜 Node 的架构或者源码,经常搜到这样一张图,大体把 Node 分为了 3 层:

  • 第一层是对外暴露的 API,比如 fs/buffer/net 等,直接 require 进来用
  • 第二层可以看做是桥接层,一头连 JS,一头连 C++,让这两种不同语言直接借助 layer 互相调用,比如 Node 项目中针对底层模块所封装的各种 bindings,或者我们可以直接从外部来引入 C++ 模块作为插件使用,通过 JS 直接调用第三方 C++ 模块
  • 最后一层,就是 Node 整个底层所依赖的一坨 C/C++ 库,包括提供 JS 解释与运行的 v8 引擎,提供 crypto 加密算法的 openssl 等等。

那么这三层是如何分工协作的,他们的关系是什么,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习记录wanxiaowan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值