2012-11-26 75 views
0

給定兩個模塊ab。我知道可以使用module.exportsa的功能展示給另一個模塊。我可能沒有正確使用它。NodeJS - 如何正確導出模塊

a.js

function A() { ... } 
A.prototype.func = function() { ... } 

function test() { 
    new A().func(); 
} 

test(); 
module.exports = { 
    A : new A() 
}; 

test()工作正常。但以下游:

b.js

var A = require("./a"); 
A.func(); //throws an exception 

如何導出整個A模塊,它的功能?

更新:執行console.log(A)超過b(作爲第二線),沒有揭示任何的A的方法和變量。

+0

根據您的編輯,如果您想查看'A'上的按鍵,請嘗試'Object.keys(A)'。 – tjameson

回答

1

試試這個:

module.exports = new A(); 

您將無法實例化B A新A,但似乎這就是你想要的。

編輯:

或者你可以改變b.js到:

var A = require('./a'); 
A.A.func(); 

但是這很可能不是你想要的。

這個想法是,無論exports是從require返回什麼。這是完全一樣的參考。

+0

是不是我所做的? – MrRoth

+0

您導出了一個名爲'A'的屬性設置爲實例的對象。 – tjameson

+0

你試過了嗎?因爲它不適合我... :( – MrRoth