Nodejs:`process.binding`是什么意思?

在研究github上的node.js源代码时,我多次看到process.binding('...')

有人可以解释我什么这个function吗?

该函数返回内部模块,如require。 它不是公共的,所以你不应该在代码中依赖它,但是如果你想知道事情是如何工作的,你可以使用它来和节点的低级对象一起玩。

例如, 在这里注册了 timer_wrap绑定。 它导出 Timer构造函数。 在lib/timers.js它被导入

这是一个function,实质上是去抓住C ++function,并使其在JavaScript内部可用。 以process.binding('zlib')中使用的这个示例process.binding('zlib')为例

这本质上是走出去,得到zlib C ++对象,然后在JavaScript代码中使用剩下的时间。

所以当你使用zlib的时候,你并没有真正的去抓取C ++库,而是使用为你包装C ++特性的Javascript库。

它使它更容易使用