我正在使用Grunt将我的javascript编译成一个文件。
在我的Gruntfile.js
我有一个concat方法
concat: {
libs: {
src: [
'js/vendor/jquery-1.10.2.js',
'js/vendor/handlebars-1.1.2.js',
'js/vendor/bootstrap.js',
'js/vendor/ember-1.2.0.js',
'js/vendor/ember-data.js',
'js/vendor/ember-localstorage-adapter.js',
'js/vendor/moment.js'
],
dest: 'js/libs.js'
},
app: {
src:'js/app/**/*.js',
dest:'js/app.js'
}
}
我的文件结构:
js
| --app
| --controllers
| --models
| --routes
| --views
| --app.js
| --store.js
| --router.js
| --vendor
| ...libraries etc.
当grunt汇总我的javascript文件时,它会生成js/app.js
:
App = Ember.Application.create();
App.Router.map(function(){
this.resource('bookmarks');
});
App.Store = DS.LSAdapter;
如何确保商店在路由器之前加载到js/app.js
,或者它是否重要?
答案 0 :(得分:3)
这些文件按照它们在concode规则的src部分中列出的顺序进行连接。订单在首先加载商店方面无关紧要,但这只是一个有根据的猜测,所以请大家多加一些建议。
如果您确实希望商店线路在路由器之前,您可以将连接修改为:
app: {
src:[
'js/app/app.js',
'js/app/store.js',
'js/app/router.js'
dest:'js/app.js'
}
这样,app首先被附加,然后存储,然后是路由器。