Javascript 吞下丑陋的缩小脚本,这是不应该的

Javascript 吞下丑陋的缩小脚本,这是不应该的,javascript,gulp,gulp-uglify,gulp-rename,Javascript,Gulp,Gulp Uglify,Gulp Rename,当我运行gulp脚本时,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 conca

当我运行
gulp脚本时,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'))

});

发生的事情是,您正在连接这两个脚本

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'));
希望有帮助。

问题就在这里

// 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'));
});

为了清楚起见,我编辑/改写了我的问题。我希望将连接的脚本输出到两个文件:all.js和all.min.js。由于某些原因,所有的.js都被缩小了。谢谢!这很有帮助,我是gulp的新手,我所做的教程没有在任务中返回任何内容。返回流是使任务异步的一种方法。如果您希望在其他任务中将任务用作依赖项,则应使任务异步。谢谢你的解释!