0

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

4

1 回答 1

1

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

运行 repl 时,require其他从 repl 上下文中引用 -REPLServer.prototype.createContext参见repl.js

于 2013-08-18T11:18:40.257 回答