给出两个模块a
和b
。我知道可以使用a
将module.exports
的功能公开给另一个模块。我可能没有正确使用它。
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 :(得分:1)
试试这个:
module.exports = new A();
您将无法在b中实例化新的A
,但似乎这就是您想要的。
修改强>
或者您可以将b.js
更改为:
var A = require('./a');
A.A.func();
但这可能不是你想要的。
我们的想法是exports
将是从require
返回的内容。这是完全相同的参考。