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

时间:2014-01-03 17:24:21

标签: javascript node.js

我在一个文件中放了一些代码,如下所示:

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的对象)。

1 个答案:

答案 0 :(得分:3)

设置导出时,必须执行module.exports = Something。你应该做点什么:

module.exports = Symphonize;

如果在导出模块上将Symphonize作为属性,则不需要.exports

exports.Symphonize = Symphonize;

在文件中使用它。

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


同样var exports在Node中是一种含糊不清的陈述。