设置:
具有以下任务的
Gruntfile
:连接:{ build : { 文件:{ 'build/app.js': [ 'src/.js', 'src//.js', '!src/vendors/' ], } }
许多 Angular 模块及其 Controller 、服务等,其结构如下:
一个/ a.js//模块声明如: angular.module('a',[]) a-controller.ks//在其根模块定义中设置 Controller ,例如: angular.module('a').controller()...
问题:
该任务将它在 build
文件夹中找到的所有 js 文件连接到一个 app.js
文件,它做得很好,但是搞砸了连接时按照文件的顺序。
例如,它首先连接 Controller 文件而不是包含模块声明的主文件夹文件,从而触发以下错误:
Module xxxx not available!
我认为问题在于 concat
构建文件的方式,这是由 grunt 核心,特别是 minimatch
库完成的,以及它处理破折号的可能性首先是字母,但我不知道如何配置来改变这种行为,甚至不知道这是否可能。
问题:
所以,问题是:如何使 Grunt/Grunt-concat 比同一文件夹中的其他文件先处理虚线 f,以便保持顺序?
谢谢
更新1:
经过更多挖掘,似乎它与文件夹内的顺序无关,但 Grunt/Core 将根文件发送到最后并将它们放在叶文件前面。
最佳答案
只需指定您想要连接文件的顺序,将它们按顺序放置,我的意思是,首先添加应在开始时连接的单个文件,在不需要顺序的完整文件夹之后,然后最后是你的最终文件,大致如下:
grunt.initConfig({
concat: {
js: {
src: ['lib/before.js', 'lib/*', 'lib/after.js'],
dest: 'bundle.js',
}
}
});
关于javascript - Grunt + Concat + Angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30402972/