使用grunt以正确的顺序插入ember文件

use grunt to concat ember files in proper order

本文关键字:顺序 插入 ember 文件 grunt 使用      更新时间:2024-01-29

我正在使用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中,或者这很重要?

文件按照在concat规则的src部分中列出的顺序进行连接。订单对于商店先上货来说并不重要,但这只是一个有根据的猜测,所以对这个建议持保留态度。

如果你确实希望商店线在路由器之前,你可以修改你的连接如下:

    app: {
        src:[
           'js/app/app.js',
           'js/app/store.js',
           'js/app/router.js'
        dest:'js/app.js'
    }

通过这种方式,应用程序首先被附加,然后存储,然后路由器。