5
  • 如何找出 node.js 的 C++ 源代码中定义了我可以访问的 JavaScript 对象的位置process.binding('eval')?- 我已经发现它在这种特殊情况下,但是:当我只看一下目录概述/src/node_script.cc时,我怎么知道在哪里可以找到该模块?我不想单步执行所有文件以查找模块。/src//src/
  • 我在哪里可以找到一些关于 s 内部的深入信息process.binding()

谢谢。

4

1 回答 1

2

我今天也在寻找同样的东西。我不能保证没有更多内容,但这就是我发现的。

src/node_extensions.h 包含一个内置模块列表,定义如下:

ITEM(node_module_name)

其中 module_name 是模块的名称(显然)

您可以通过搜索哪个文件具有以开头的行来找出哪个文件定义了该模块

NODE_MODULE(node_module_name, 

因此,要找到为 process.bindings 定义“evals”模块的文件:

$ grep "NODE_MODULE(node_evals" src/*.cc
src/node_script.cc:NODE_MODULE(node_evals, node::InitEvals)
于 2013-08-09T22:51:58.450 回答