在使用Gulp中的事件流的concat流时进行排序

时间:2014-09-10 15:00:05

标签: stream gulp

在这个Gulp任务中,vendorFiles代码放在dest style.css文件中的appFiles代码之后。

这是因为appFiles流运行得更快吗?如何让vendorFiles代码按预期方式出现?

gulp.task('styles', function () {

    var vendorFiles = gulp.src(mainBowerFiles()) // don't read
        .pipe(gulpFilter('*.css'));

    var appFiles = gulp.src('app/sass/*.scss')
        .pipe(sass())
        .pipe(prefix('> 5%'));

    return es.concat(vendorFiles, appFiles)
        .pipe(minifyCSS())
        .pipe(concat('style.css'))
        .pipe(gulp.dest('./dist/css'));
});

1 个答案:

答案 0 :(得分:4)

使用gulp-order

解决了这个问题
gulp.task('scripts', function () {

    var jsFilter = gulpFilter('*.js');
    var vendorFiles = gulp.src(mainBowerFiles())
        .pipe(jsFilter)
        .pipe(concat('vendor.js'));

    var appFiles = gulp.src('app/js/*.js')
        .pipe(jshint())
        .pipe(jshint.reporter('default'))
        .pipe(concat('app.js'));

    return eventStream.concat(vendorFiles, appFiles)
        .pipe(order([
            "vendor.js",
            "app.js"
        ]))
        .pipe(concat('app.js'))
        .pipe(uglify())
        .pipe(gulp.dest('./dist/js'));
});