我已经阅读了一些有关像this这样的nodejs架构的精彩文章。他们中的许多人详细解释了C / C ++绑定,V8引擎和libuv以及nodejs功能,如事件驱动和非块I / O.但很少谈论流程。
我在另一篇关于nodejs编译流程的文章中找到了this。流程很清楚,但是javascript如何与c ++库一起工作,如文件系统,网络事物。 nodejs是否将javascript编译成c ++编码,以便它可以做服务器端的事情?
答案 0 :(得分:2)
Node大部分都使用libuv。参见:
它公开了libuv为V8提供的功能。参见:
请参阅本教程以了解此类绑定的外观:
您可以将Node视为libuv的V8绑定。当您阅读libuv和V8的文档时,您将会感受到它们如何组合在一起 - 它们的组合基本上就是您的问题的答案。
看一下Node源代码:
只要环顾一下回购,就能让你对这一切的运作方式有一个很好的感受。