2013-08-18 77 views
0

我注意到,從REPL,模塊上運行時需要全球節點對象的屬性存在(的console.log(GLOBAL)) 但是,當我檢查從內部全局對象應用程序(再次與console.log)沒有模塊,並要求GLOBAL對象的屬性。我認爲當應用程序存在時(例如HTTP服務器),節點實際上會創建這些屬性,這是我們需要外部模塊時的情況嗎?有人可以解釋嗎? 謝謝模塊的NodeJS並且需要結合全局對象

回答

1

每個源文件都被包裹成的Node.js模塊助手功能:看NativeModule.wrapperNativeModule.wrapnode.js。在您的源文件exportsrequire,module,__filename, __dirname是該函數的參數。

當運行REPL,require和其他從REPL上下文引用 - 見REPLServer.prototype.createContextrepl.js

+0

謝謝,我忽略了Node.js的文件,該文件只能在原來的節點SRC找到/ Node.js的來源 - 所以以後閱讀一切都很清楚。 – carousel