2014-12-23 70 views
0

解決Node.js模塊之間循環引用問題的一種技術是在需要其他模塊之前導出對象。在Node.js module.exports中導出的​​函數和變量在哪裏?

例如:

var MyModule = {}; 
module.exports = MyModule; 

var req1 = require("req1.js"); 
var req2 = require("req2.js"); 
... 

module.exports.MyFunction = function(...) { ... }; 
module.exports.MyVariable = 22; 
... 

哪裏MyFunctionMyVariable存儲?它是否在MyModule對象中?

我問這個問題的原因是我想知道我是否可以簡化我的代碼。我可以安全地將我的代碼替換爲以下內容嗎?

var MyModule = {}; 
module.exports = MyModule; 

var req1 = require("req1.js"); 
var req2 = require("req2.js"); 
... 

MyModule.MyFunction = function(...) { ... }; 
MyModule.MyVariable = 22; 
... 
+1

爲什麼不簡單地嘗試一下呢?它只有10行代碼。 http://nodejs.org/api/modules.html –

回答

0

是的,這兩個代碼片段在功能上是等效的。