javascript - 未定义不是函数 - RequireJS

标签 javascript requirejs

我在 RequireJS 中包含模块时遇到问题。

有两个文件..test.js 和 card.js

在 test.js 中,当页面加载时,它会显示“未定义不是函数”:

require(
    ['app', 
     'jquery', 
     'card'], 
    function(App, $, Card) {
        var card = new Card("test");
    }
);

这是card.js:

define("Card", function () {
    function Card(name) {
       this.name = name;             
    };

    return Card;
});

我在card.js中放入了一些console.log(),当它像test.js中那样被引用时,它会很好地调用它们。另外,如果我要在 card.js 中定义常规 js 对象类(例如):

function Card(name) {
   this.name = name;
}

我能够在 test.js 中正确创建该 Card 对象。

有什么线索说明我是如何将其全部错误地连接起来的吗?

最佳答案

问题,如Bergi说的就是你们的模块名称不一样。

对于 RequireJS,Cardcard 是不同的模块。

您所要做的就是将 card.js 更改为

define("card", function () {
    function Card(name) {
       this.name = name;             
    };

    return Card;
});

关于javascript - 未定义不是函数 - RequireJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23847058/

相关文章:

javascript - 干扰 .innerHTML 输出触发器

javascript - 当屏幕尺寸改变时重新执行 api 调用

javascript - 带有 google 登录功能的 Firefox 插件

javascript - 正确使用 RequireJS、Coffeescript 和 Revealing Module Pattern

javascript - 有时 select2 无法在 Moodle 插件中工作/加载

javascript - Vuejs 表单提交不起作用

JavaScript 运行时错误 : Unable to add dynamic content

javascript - requirejs 重新加载 javascript 文件

javascript - EmberJS Controller 未定义

javascript - RequireJS QCodeDecoder 导出未捕获的类型错误 : object is not a function