Karma错误:require未定义

时间:2014-07-18 15:18:52

标签: ember.js qunit karma-runner

我使用karma和qunit来测试一个emberjs应用程序。 karma.conf.js文件有这段代码用于链接我的项目库

files: [
    "app/bower_components/jquery/jquery.js",
    "app/bower_components/mockjax/jquery.mockjax.js",
    "app/bower_components/handlebars/handlebars.js",
    "app/bower_components/ember/ember.js",
    "app/bower_components/ember-data/ember-data.js",
    "app/bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap.js",
    "app/scripts/app.js",
    "tests/test.js"
],

我的app.js就是这样:

var MyApp = window.MyApp = Ember.Application.create();

require('scripts/controllers/*');
require('scripts/store');
require('scripts/models/*');
require('scripts/routes/*');
require('scripts/components/*');
require('scripts/views/*');
require('scripts/router');

但是当我使用配置文件启动业力时,它会报告此错误

Firefox 30.0.0 (Ubuntu) ERROR
ReferenceError: require is not defined at ~/myApp/app/scripts/app.js:4

我试图改变karma.conf文件中库的顺序,但不起作用。

1 个答案:

答案 0 :(得分:6)

尝试安装requirejs并将其包含在 karma.conf.js 的文件部分中。

npm install requirejs

运行此命令将创建 node_modules 文件夹(如果尚不存在)。 RequireJS可能会在:

node_modules/requirejs/require.js

因此,您可以尝试编辑文件部分,如下所示:

files: [
    "node_modules/requirejs/require.js",
    ...
]