所以,也许这个问题太菜鸟和新手,但我仍然不知道为什么 LIBUV 在 Node JS 架构中占有一席之地?以上就是我对 NodeJs 架构的理解。
- Node Js 基于 V8 构建
- V8 能够运行使用 EcmaScript 标准 编写的代码。
- V8 是用 C++ 编写的。
- 因此,如果您想提供任何新功能,我们可以在我们的 C++ 项目中嵌入 V8,并在 C++ 中使用新的 Embedded V8 附加新代码。
现在有疑问了,
- 由于 V8 支持 EcmaScript Javascript ,这意味着它能够 运行使用 EcmaScript 标准编写的回调。
- 所以我们可以在 C++ 中添加文件系统访问、HTTP 服务器和数据库访问的代码,因为有库(头文件)提供了该功能,因为 Java 是用 C++ 编写的(如果我错了,请纠正我)并且 Java 有能力做相同。
- 现在,如果我们可以在 C++ 中添加此功能,那么 Libuv 的位置会在 NodeJs 架构的图片中出现吗?
在此先感谢并祝您编码愉快 :)
原文由 Ankur Verma 发布,翻译遵循 CC BY-SA 4.0 许可协议
检查下面的文档 -
https://nodejs.org/en/docs/meta/topics/dependencies/#libuv
综上所述,V8提供了与运行JS文件相关的功能,但要使用网络、文件等系统资源,则使用libuv。它还提供了一个线程模型来访问所提到的资源。