我的应用程序一直运行良好,但今天我决定给予r.js一个漩涡。
现在我的树(它的一部分)看起来像
- index.html
- 资产
- 日本
- require.js
- r.js
- main.js
- 零部件
- underscore.js
- jquery.js
- backbone.js
- 杰奎里伊斯
- 模型
- election.js
- 集合
- elections.js
- 检视
- app.js
- election.js
在我的index.html文件中我有<script data-main="assets/js/main" src="assets/js/require.js"></script>
这是main.js
require.config({
paths: {
jquery: 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min',
underscore: 'components/underscore/underscore-min',
backbone: 'components/backbone/backbone-min',
jqueryui: 'components/jqueryui/jquery-ui-1.10.1.custom.min'
},
shim: {
'backbone': {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
},
'jqueryui': ['jquery']
}
});
require(['views/app'], function(App) {
var router = Backbone.Router.extend({
routes: {
'': 'root',
'year(/:year)': 'year'
},
root: function() {
new App();
},
year: function(year) {
new App({
year: year
});
}
});
r = new router();
Backbone.history.start({
// pushState: true
});
});
在我的模块中,我引用了assets/js/views/election.js
或assets/js/models/election.js
等文件
但是当我用这个build.js运行r.js时
({
// baseUrl: "assets/",
paths: {
jquery: 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min',
underscore: 'components/underscore/underscore-min',
backbone: "components/backbone/backbone-min",
jqueryui: 'components/jqueryui/jquery-ui-1.10.1.custom.min'
},
name: "main",
out: "main-built.js"
})
我得到了Error: ENOENT, no such file or directory '/Users/alex/Dropbox/www/animated-elections/assets/js/assets/js/collections/elections.js'
,我不明白为什么它会在我的路径上添加另一个assets/js
。
3条答案
按热度按时间weylhg0b1#
我相信
require.js
应该和主文件放在同一个文件夹中,即assets
文件夹的旁边,而不是里面。jtjikinw2#
r.js位于您的应用程序目录中,而不是像示例设置中指定的那样作为它的同级。
我还没有测试过这个,但是r.js可能假设任何模块调用都应该与它所在的位置相关。
8yparm6h3#
在build.js文件中添加此代码。
祝你好运