我正在使用gulp-order模块,结合event-streams模块和gulp-concat将JavaScript文件合并成一个目标文件。 gulp-order插件在其他项目中为我很好地工作,当我想按照特定顺序从流中合并文件时。但是,在这个项目中,它似乎无法正常工作,公共/ angular / config目录中的文件散布在我指定要在public / js目录中最后合并的文件之间。我认为这可能与指定多个源即angular和js目录有关。我尝试使用event-streams模块合并流,但没有成功,而当我开始时,我通过将数组传递给gulp.src函数来指定多个源。
以下是我目前正在使用的代码。管道和连接操作都没有问题,但是顺序不符合规范:
gulp.src(['./public/angular/**/*.js', './public/js/*.js'])
以下是我目前正在使用的代码。管道和连接操作都没有问题,但是顺序不符合规范:
var gulp = require('gulp');
var concat = require('gulp-concat');
var notify = require('gulp-notify');
var handleErrors = require('../util/handleErrors');
var jshint = require('gulp-jshint');
var ngmin = require('gulp-ngmin');
var order = require('gulp-order');
var es = require('event-stream');
function getStream(streamPath) {
return gulp.src(streamPath);
};
gulp.task('scripts', function() {
return es.merge(getStream('./public/angular/**/*.js'),getStream('./public/js/*.js'))
.pipe(order([
'./public/angular/config/*.js',
'./public/angular/services/**/*.js',
'./public/angular/modules/**/*.js',
'./public/angular/primitives/**/*.js',
'./public/js/**/*.js'
]))
.pipe(concat('app.js'))
.pipe(gulp.dest('./public/build/js'))
.on('error', handleErrors);
});