Javascript 使用grunt以正确的顺序连接成员文件
我正在使用Grunt将我的javascript编译成一个文件 在我的Javascript 使用grunt以正确的顺序连接成员文件,javascript,node.js,ember.js,gruntjs,npm,Javascript,Node.js,Ember.js,Gruntjs,Npm,我正在使用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',
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
,或者这有什么关系?文件按照它们在您的concat规则的src部分中列出的顺序进行连接。订单对于先装店来说并不重要,但这只是一个有根据的猜测,所以对这个建议持保留态度
如果您确实希望存储行位于路由器之前,您可以将连接修改为:
app: {
src:[
'js/app/app.js',
'js/app/store.js',
'js/app/router.js'
dest:'js/app.js'
}
这样,应用程序将首先被追加,然后被存储,然后被路由器追加。请记住,您也可以在列表中的任何位置添加星号/通配符模式,它将丢弃之前声明的任何匹配文件。很适合说“先包括这个,后包括这个,还有这两者之间的所有东西”。@Jon:我想你应该回答这个问题。我差点错过了你的评论,我相信这是最好的方法