【问题标题】:TypeError: Object is not a function at Object.<anonymous> when constructing Javascript w/ newTypeError: Object is not a function at Object.<anonymous> 构造 Javascript w/new
【发布时间】:2014-01-26 08:47:36
【问题描述】:

我在一个文件中整理了一些代码,如下:

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/syphonize/tests/syphonize.js:8

var Symp = new syphonize({"test":"test1"});

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

我应该用另一种方式来构建它吗?我只希望“交响乐”代码在调用该代码上的任何函数之前需要一个简单的对象(配置对象将是 JSON)。

【问题讨论】:

  • 这可能应该移到 SO。
  • 你是对的。我已经停止在这里发布上述项目。

标签: javascript node.js


【解决方案1】:

在设置导出时,您必须执行 module.exports = Something。你应该这样做:

module.exports = Symphonize;

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

exports.Symphonize = Symphonize;

在文件中使用它。

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


var exports 在 Node 中也是一种模棱两可的说法。

【讨论】:

    猜你喜欢
    • 2021-08-15
    • 2020-07-26
    • 2020-06-29
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    • 2019-03-07
    • 2019-10-02
    • 2019-09-02
    相关资源
    最近更新 更多