2

を実行するgulp scriptsと、all.js と all.min.js の両方が縮小されてしまいます。なぜこれが起こるのか知っている人はいますか?

gulp.task("scripts", function() {

    var concatted = gulp.src(['js/first.js', 'js/second.js'])
                        .pipe(concat('all.js'));

    // output concatenated scripts to js/all.js
    concatted.pipe(gulp.dest('js'));

    // minify concatenated scripts and output to js/all.min.js
    concatted.pipe(uglify())
             .pipe(rename('all.min.js')
             .pipe(gulp.dest('js'))

});
4

2 に答える 2

3

問題はここにあります

// output concatenated scripts to js/all.js
concatted.pipe(gulp.dest('js'));

変更されたストリームを に返していませんconcatted

これを次のように変更できます

// output concatenated scripts to js/all.js
concatted = concatted.pipe(gulp.dest('js'));

しかし、これも期待どおりに機能します

gulp.task("scripts", function() {
    return gulp.src(['js/first.js', 'js/second.js'])
        .pipe(concat('all.js'))
        .pipe(gulp.dest('js'))
        .pipe(uglify())
        .pipe(rename('all.min.js')
        .pipe(gulp.dest('js'));
});
于 2015-06-26T02:38:53.787 に答える
0

何が起こっているかというと、2 つのスクリプトを連結しているということです

var concatted = gulp.src(['js/first.js', 'js/second.js'])
                    .pipe(concat('all.js'));
                    // Both scripts are now in 'all.js'

縮小する前に

concatted.pipe(uglify())
         .pipe(rename('all.min.js')
         .pipe(gulp.dest('js'))

考えられる解決策の1つは次のとおりです。

gulp.src('js/first.js')
    .pipe(uglify())
    .pipe(rename('all.min.js'))
    .pipe(gulp.dest('js'));

それが役に立てば幸い。

于 2015-06-25T23:00:49.883 に答える