2015-02-07 83 views
0

我有時會在節點中運行這個節點,並且最終通過擺弄它而無法真正理解根本原因而得到解決。這裏是發生了什麼:Node.js中損壞的模塊

我需要一個模塊在我的代碼中的多個地方前幾個往往工作得很好。那麼某種程度上會損壞模塊,它只是返回一個空對象;

var m1 = require('./m1'); // returns just fine 
.... /// somewhere latter in the code 
var m1 = require('./m1'); // returns empty object 

所以我想我的問題是,什麼會破壞一個模塊,你怎麼可以把某種斷言調試捉它時,它會發生什麼?

謝謝

+0

'm1'模塊返回什麼作爲它的輸出?該模塊可能會使用全局變得麻煩。 – jfriend00 2015-02-07 16:27:04

+0

有時候會有新的Object(),有時也是原始對象的原型。它不使用全球任何東西。我以爲有一點可能BC是對象是單例,但我正在處理的實例現在以module.exports = new MyClass()結束; – 2015-02-09 16:39:01

+0

注意:最奇怪的是,當所有其他需要做的時候它甚至不會顯示在module.children []中。 http://nodejs.org/api/modules.html#modules_module_loaded – 2015-02-09 16:53:55

回答

0

我發現了這個問題。經過很長時間的追蹤,似乎(至少在本例中)是循環參考問題。

本來希望得到一個錯誤,但顯然它沒有。謝謝jfriend00求助