Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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 因果报应下无法通过requirejs依赖Q_Javascript_Debugging_Requirejs_Karma Runner_Q - Fatal编程技术网

Javascript 因果报应下无法通过requirejs依赖Q

Javascript 因果报应下无法通过requirejs依赖Q,javascript,debugging,requirejs,karma-runner,q,Javascript,Debugging,Requirejs,Karma Runner,Q,在我的项目中(请注意它是GPL许可的),当我试图依赖via时,当运行项目的Karma测试时,我遇到了这个问题。发生的情况是,RequireJS抛出以下异常:未捕获错误:不匹配的匿名define()模块。我发现在require.js的第1219行抛出了异常: if (args[0] === null) { return onError(makeError('mismatch', 'Mismatched anonymous define() module: ' + args[args.len

在我的项目中(请注意它是GPL许可的),当我试图依赖via时,当运行项目的Karma测试时,我遇到了这个问题。发生的情况是,RequireJS抛出以下异常:未捕获错误:不匹配的匿名define()模块。我发现在require.js的第1219行抛出了异常:

if (args[0] === null) {
    return onError(makeError('mismatch', 'Mismatched anonymous define() module: ' + args[args.length - 1]));
}
args[0]为null的原因是所讨论的模块(Q)是匿名的,因此没有提供名称。发生异常时的调用堆栈为:

  • require.js第1219行
  • require.js第1404行
我无法单独复制这个问题;不确定确切原因,但在这种情况下,Q模块定义不是从第1404行获取的,因此似乎有几种方法可以在RequireJS中应用依赖项


那么,我如何解决这个问题,即通过ChuckJS中的RequireJS加载Q而不产生任何抱怨?

问题在于Q是如何通过Karma包含的,也就是说,它有效地静态包含在Karma.conf.js中:

files: [
    'test-main.coffee',
    [...]
    '../node_modules/q/q.js'
],
为了让RequireJS动态加载Q,karma.conf.js中的包含必须如下所示(注意
include:false
bit):


你有没有按照文件末尾的清单去做?@Louis Argh,我真是个傻瓜。我已经指示Karma(通过Karma.conf.js)以静态方式有效地加载q.js(尽管这不是我的意图)。谢谢,圣诞快乐!
files: [
    'test-main.coffee',
    [...]
    {pattern: '../node_modules/q/q.js', included: false}
],