Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Undefined不是一个函数-RequireJS_Javascript_Requirejs - Fatal编程技术网

Javascript Undefined不是一个函数-RequireJS

Javascript Undefined不是一个函数-RequireJS,javascript,requirejs,Javascript,Requirejs,我在RequireJS中包含模块时遇到问题 有两个文件。。test.js和card.js 在test.js中,页面加载时会显示“未定义不是函数”: 这是card.js: define("Card", function () { function Card(name) { this.name = name; }; return Card; }); 我在card.js中放了一些console.log(),当它像test.js那样被引

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

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

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

这是card.js:

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

    return Card;
});
我在card.js中放了一些console.log(),当它像test.js那样被引用时,它会调用这些函数。如果我要在card.js中定义一个常规的js对象类(例如):

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

有没有任何线索表明我是如何把它连接错的?

问题是,正如前面所说的,您的模块名称不一样

对于RequireJS,
Card
Card
是不同的模块

您只需将
card.js
更改为

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

    return Card;
});

单击inspector中“undefined…”消息右侧的链接,它将向您显示其中断所在的行。该行中断:var卡=新卡(“测试”);那么,显然你不能“正确地创建卡对象”。提示:你的模块名称不一样。不确定require是否处理它们不区分大小写,以及为什么它不会对此抱怨。我能够创建一个card对象,只是不通过模块。事实证明,这是一个案件敏感性问题。谢谢
function Card(name) {
   this.name = name;
}
define("card", function () {
    function Card(name) {
       this.name = name;             
    };

    return Card;
});