Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用grunt以正确的顺序连接成员文件_Javascript_Node.js_Ember.js_Gruntjs_Npm - Fatal编程技术网

Javascript 使用grunt以正确的顺序连接成员文件

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',

我正在使用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'
    }

这样,应用程序将首先被追加,然后被存储,然后被路由器追加。

请记住,您也可以在列表中的任何位置添加星号/通配符模式,它将丢弃之前声明的任何匹配文件。很适合说“先包括这个,后包括这个,还有这两者之间的所有东西”。@Jon:我想你应该回答这个问题。我差点错过了你的评论,我相信这是最好的方法