gulp-uglify缩小脚本,它不应该

时间:2015-06-25 22:35:37

标签: javascript gulp gulp-uglify gulp-rename

当我运行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'))

});

2 个答案:

答案 0 :(得分: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'));
});

答案 1 :(得分:0)

发生的事情是你要连接这两个脚本

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'))

一种可能的解决方案可能是:

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

希望它有所帮助。