2017-03-22 38 views
1

我已經閱讀了一些關於nodejs體系結構的文章,如this。他們中的許多人都詳細解釋了C/C++綁定,V8引擎和libuv以及nodejs功能,如事件驅動和非塊I/O。但很少有人談論這個流程。Nodejs編譯流程

我在另一篇關於nodejs編譯流程的文章中發現this。流程很清晰,但是如何正確使用JavaScript並且使用C++庫來執行文件系統,網絡事物等。 nodejs是否將javascript編譯爲C++編碼,以便它可以執行服務器端的事情?

+0

不,文件系統和網絡的東西通過C++綁定發生。 – Bergi

回答

2

節點在大多數情況下使用libuv。請參閱:

它暴露了libuv提供的V8引擎的功能。請參閱:

請參見本教程中看到綁定怎麼這麼像:

你能想到的節點作爲V8 libuv的結合。當你閱讀libuv和V8的文檔時,你會對它們如何結合在一起有一些感覺 - 它們的組合基本上就是你的問題的答案。

看一看節點的源代碼:

只是看看周圍回購可以給你它是如何工作的一個良好的手感。