我一直试图将业力设置为与Require.js一起使用几天(然后使用带有角度的需求)并且令人惊讶地令人沮丧。这是我的文件树在这个例子中的样子:
$ tree
.
|-- public
| |-- index.html
| |-- src
| |-- app.js
| `-- main.js
|-- config
| |-- karma.conf.js
|-- lib
| |-- jquery.js
| |-- require.js
| `-- underscore.js
|-- src
| |-- app.js
| `-- main.js
`-- test
|-- appSpec.js
`-- test-main.js
我正在处理的这个存储库是karma requirejs example中使用的存储库的克隆。 karma example githubs' code和我的代码之间的唯一区别是对文件目录结构的3次更改:
/karma.conf.js
==> /config/karma.conf.js
/ src /
==> /public/src/
/index.html
==> /public/index.html
因此。现在,为了让一切正常,你必须:
更改:
basePath: '',
到
basePath: '../',
并在test / test-main.js(这是requirejs.config文件)中更改:
requirejs.config({
// Karma serves files from '/base'
baseUrl: '/base/src',
到
requirejs.config({
// Karma serves files from '/base'
baseUrl: '../base/src',
但似乎无论我做什么,我都会继续得到同样的错误:
ERROR: 'There is no timestamp for /base/src/app.js!'
Uncaught Error: Script error for: app
http://requirejs.org/docs/errors.html#scripterror
at /node_modules/requirejs/require.js:141
或
Uncaught Error: Script error for: jquery
http://requirejs.org/docs/errors.html#scripterror
at /node_modules/requirejs/require.js:141
Uncaught Error: Script error for: underscore
http://requirejs.org/docs/errors.html#scripterror
at /node_modules/requirejs/require.js:141
答案 0 :(得分:3)
答案是添加
paths: {
'jquery': '../lib/jquery',
'underscore': '../lib/underscore'
'app' : '../public/src/app' <====
},
而在原始示例中,代码app.js通过以下方式添加:
var tests = [];
for (var file in window.__karma__.files) {
if (/Spec\.js$/.test(file)) {
tests.push(file);
}
}
所以将它添加到路径会更加重要。
paths: {
'jquery': '../lib/jquery',
'underscore': '../lib/underscore',
},