Gulp uglify - 覆盖已丑化的文件
Gulp uglify - overwrite uglified files
我有一个 gulp 任务来丑化我的 JS:
gulp.task('uglify', ['eslint'], () => {
return gulp.src(jsDest + '/*.js')
.pipe(rename({suffix: '.min'}))
.pipe(stripDebug())
.pipe(uglify())
.pipe(gulp.dest(jsDest));
});
它工作正常,但由于我使用通配符来识别 JS 文件,我最终得到名为 name.min.min.js
的新文件,而不是覆盖现有的缩小文件。
我想出的一个解决方法是在我再次 uglify 之前有一个额外的任务来清理这些文件:
gulp.task('cleanUglified', () => {
return del.sync('dist/js/*.min.js');
});
gulp.task('uglify', ['cleanUglified', 'eslint'], () => {
...
});
虽然这工作正常,但我确信必须有一种方法可以让我的任务忽略任何名为 *.min*
的内容,并且实际上覆盖任何已经存在的内容。
已解决 - 我可以忽略已经缩小的文件并使用此模式覆盖它们 select 要丑化的文件:
return gulp.src(jsDest + '/*[^.min].js')
编辑
根据以下评论,我已更新为:
return gulp.src(['*.js', '!*.min.js'])
我有一个 gulp 任务来丑化我的 JS:
gulp.task('uglify', ['eslint'], () => {
return gulp.src(jsDest + '/*.js')
.pipe(rename({suffix: '.min'}))
.pipe(stripDebug())
.pipe(uglify())
.pipe(gulp.dest(jsDest));
});
它工作正常,但由于我使用通配符来识别 JS 文件,我最终得到名为 name.min.min.js
的新文件,而不是覆盖现有的缩小文件。
我想出的一个解决方法是在我再次 uglify 之前有一个额外的任务来清理这些文件:
gulp.task('cleanUglified', () => {
return del.sync('dist/js/*.min.js');
});
gulp.task('uglify', ['cleanUglified', 'eslint'], () => {
...
});
虽然这工作正常,但我确信必须有一种方法可以让我的任务忽略任何名为 *.min*
的内容,并且实际上覆盖任何已经存在的内容。
已解决 - 我可以忽略已经缩小的文件并使用此模式覆盖它们 select 要丑化的文件:
return gulp.src(jsDest + '/*[^.min].js')
编辑
根据以下评论,我已更新为:
return gulp.src(['*.js', '!*.min.js'])