2012-08-27 29 views
5
  • 如何查找Node.js的C++源代碼中的哪個位置獲取了可以通過process.binding('eval')訪問的JavaScript對象? - 我已經發現它在/src/node_script.cc這個特殊情況下,但是:我怎麼知道我可以在哪裏找到那個模塊剛好是我剛纔看一下/src/目錄概述?我不想瀏覽/src/中的所有文件以查找模塊。
  • 我在哪裏可以找到有關process.binding() s內部的深入信息?

謝謝。node.js內部:如何找出'process.binding('eval')`被定義的位置?

回答

2

我今天在找同樣的東西。我不能保證沒有更多,但這是我發現的。

的src/node_extensions.h包含內置模塊,等被定義的列表:

ITEM(node_module_name) 

其中module_name是模塊(顯然)的名稱

你可以找出哪些文件定義該模塊通過搜索該文件具有與

NODE_MODULE(node_module_name, 

所以,開始發現,定義了「evals」模塊process.bindings文件中的一行:

$ grep "NODE_MODULE(node_evals" src/*.cc 
src/node_script.cc:NODE_MODULE(node_evals, node::InitEvals) 
相關問題