我在一个文件中放了一些代码,如下所示:
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>
我还有另一种方法可以构建它吗?我只是希望“symphonize”代码在调用该代码上的任何函数之前需要一个简单的对象(一个配置为JSON的对象)。
答案 0 :(得分:3)
设置导出时,必须执行module.exports = Something。你应该做点什么:
module.exports = Symphonize;
如果在导出模块上将Symphonize作为属性,则不需要.exports
exports.Symphonize = Symphonize;
在文件中使用它。
var Symphonize = require('../bin/symphonize').Symphonize
同样var exports
在Node中是一种含糊不清的陈述。