TypeError:当构造Javascript w / new时,Object不是Object。<anonymous>的函数

我已经把一个小代码放在一个文件中,如下所示:

var exports = Symphonize; function Symphonize(generation_specification) { this.generate_spec = function(){ return generation_specification; } } 

当我在同一个项目中启动另一个JavaScript文件,并需要这样的代码:

 var symphonize = require('../bin/symphonize'); var Symp = new symphonize({"test":"test1"}); 

它引发错误:

/Users/adron/Codez/symphonize/tests/symphonize.js:8

var Symp = new symphonize({“test”:“test1”});

  ^ TypeError: object is not a function at Object.<anonymous> 

还有另一种方法我应该构build这个? 我只想要“symphonize”代码在该代码的任何函数被调用之前需要一个简单的对象(configuration对象将是JSON)。

当设置出口你必须做的事情module.exports =东西。 你应该这样做:

 module.exports = Symphonize; 

如果您将Symphonize作为导出模块上的属性,则不需要导出

 exports.Symphonize = Symphonize; 

在一个文件中使用它。

 var Symphonize = require('../bin/symphonize').Symphonize 

另外var exports在Node中是一种模棱两可的语句。