gulp缩小已经缩小的文件

Osc*_*car 7 javascript gulp

我尝试用gulp缩小单独的.js文件.喜欢:

file_one.js --> file_one.min.js
file_two.js --> file_two.min.js
Run Code Online (Sandbox Code Playgroud)

它第一次执行gulp时有效.但如果我第二次运行它,它看起来像这样:

file_one.js 
file_one.min.js
file_one.min.min.js
file_two.js
file_two.min.js
file_two.min.min.js
Run Code Online (Sandbox Code Playgroud)

并且每次执行gulp都会重复这种模式.我怎样才能阻止它缩小已经缩小的js.

我使用以下代码:

gulp.task('scripts', function() {
    return gulp.src('dest/*js')
        .pipe(rename({ suffix: '.min' }))
        .pipe(uglify())
        .pipe(gulp.dest('dest'));
});
Run Code Online (Sandbox Code Playgroud)

小智 25

您可以将缩小的文件放在不同的目录中,也可以将它们排除在gulp.src以下内容中:

gulp.task('scripts', function() {
    return gulp.src(['dest/*.js', '!dest/*.min.js'])
        .pipe(rename({ suffix: '.min' }))
        .pipe(uglify())
        .pipe(gulp.dest('dest'));
});
Run Code Online (Sandbox Code Playgroud)


Mar*_*des 8

发生这种情况的原因是您将缩小的文件保存在非缩小文件的同一目录中.stream(gulp.src)的第一部分读取文件dest夹中的所有文件.由于您将缩小的文件保存到同一个文件夹,因此它会在第二次运行时再次缩小它们.你有一些选择:

  1. 将输出文件夹更改为其他内容(例如gulp.dest('build'))
  2. 更改gulp.src为仅匹配非缩小文件