Nodejs模块并要求绑定到全局对象

时间:2013-08-18 10:58:32

标签: node.js object module global require

我注意到从repl运行时,存在GLOBAL节点对象的模块 require 属性(console.log(GLOBAL)) 但是当我从内部应用程序(再次使用console.log)检查GLOBAL对象时,没有模块和需要GLOBAL对象的属性。我认为该节点实际上会在应用程序存在时创建这些属性(例如HTTP服务器),因为这是我们需要外部模块时的情况?有人可以解释一下吗? 谢谢

1 个答案:

答案 0 :(得分:1)

每个源文件都由node.js模块助手包装到一个函数中:请参阅node.js中的NativeModule.wrapperNativeModule.wrap。在源文件exports中,requiremodule__filename__dirname是该函数的参数。

运行repl时,require和其他人会从repl上下文中引用 - 请参阅repl.js中的REPLServer.prototype.createContext