Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我注意到从 repl 运行时,存在 GLOBAL 节点对象的模块和require属性( console.log(GLOBAL) )但是当我从应用程序内部检查 GLOBAL 对象(再次使用 console.log )时,没有模块和 require 属性全局对象。我认为当应用程序存在时节点实际上会创建这些属性(例如 HTTP 服务器),因为这是我们需要外部模块的情况?有人可以解释一下吗?谢谢
每个源文件都由 node.js 模块助手包装到一个函数中:请参阅node.jsNativeModule.wrapper中NativeModule.wrap的。在您的源文件中,, , ,是该函数的参数。exportsrequiremodule__filename__dirname
NativeModule.wrapper
NativeModule.wrap
exports
require
module
__filename
__dirname
运行 repl 时,require其他从 repl 上下文中引用 -REPLServer.prototype.createContext参见repl.js
REPLServer.prototype.createContext