我有以下任务:
var inject = require('gulp-inject');
...
gulp.task('index-build', function () {
return gulp.src(config.index)
.pipe(
inject(gulp.src(config.build + '/vendor/**/*.js', { read: false }))
)
.pipe(gulp.dest(config.build));
});
大多数情况下,它可以实现:在路径中按字母顺序连接文件,从而产生如下内容:
...
<script src="/vendor/angular/angular.js"></script>
<script src="/vendor/angular-resource/angular-resource.js"></script>
...
但有时,不规律地,它会这样做:
...
<script src="/vendor/angular-resource/angular-resource.js"></script>
<script src="/vendor/angular/angular.js"></script>
...
由于angular-resource.js
取决于angular.js
,因此打破了应用。
为什么gulp不可预测地做到这一点?我如何确保每次订单都相同?
答案 0 :(得分:2)
使用gulp-sort
按字母顺序获取文件。
插件会按照接收文件的顺序输出文件,因此文件序列甚至无法控制。
它实际上很好,他们不对文件进行排序,插件应该只做它应该做的事情并且不添加额外的东西。