gulp 任务 - 连接由另一个 gulp 任务创建的文件

gulp tasks - concatenate files that created by another gulp task

我想缩小 /_dev 文件夹中的 js 文件,然后重命名它们并将下摆复制到 minify-js 文件夹,然后连接缩小的文件。

我这样使用 gulpfile.js

var gulp = require('gulp'),
uglify = require('gulp-uglify'),
rename = require('gulp-rename'),
concat = require('gulp-concat');

gulp.task('minify-js', function() {
        return gulp.src('_dev/js/libraries/*.js')
            .pipe(uglify())
            .pipe(rename({
                suffix: '.min'
            }))
            .pipe(gulp.dest('minifiedJS'));
});

gulp.task('concatFiles',['minify-js'],function (){
     return gulp.src(['minifiedJS/jquery.jplayer.min.js', 'minifiedJS/jplayer.playlist.min.js', 'minifiedJS/LinkToPlayer.min.js'])
         .pipe(concat('final.js'))
        .pipe(gulp.dest('_dist/js'));
});

当我 运行:

gulp concatFiles

minify-js 任务在 minifiedJS 文件夹中创建以下文件。

jquery.jplayer.min.js
jplayer.playlist.min.js
LinkToPlayer.min.js

但是 final.js 不会创建,直到我再次 运行 gulp concatFiles 命令。

我该如何解决这个问题?

您可以尝试以下一项任务

var gulp = require('gulp'),
    uglify = require('gulp-uglify'),
    rename = require('gulp-rename'),
    concat = require('gulp-concat');

gulp.task('minify-js', function(){
    return gulp.src('_dev/js/libraries/*.js')
        .pipe(concat('concat.js'))
        .pipe(gulp.dest('dist'))
        .pipe(rename('final.js'))
        .pipe(uglify())
        .pipe(gulp.dest('dist'));
});

gulp.task('default', ['minify-js'], function(){});