Gulp 吞咽丑陋-覆盖丑陋的文件
我有一个吞咽任务来丑化我的JS:Gulp 吞咽丑陋-覆盖丑陋的文件,gulp,glob,Gulp,Glob,我有一个吞咽任务来丑化我的JS: gulp.task('uglify', ['eslint'], () => { return gulp.src(jsDest + '/*.js') .pipe(rename({suffix: '.min'})) .pipe(stripDebug()) .pipe(uglify()) .pipe(gulp.dest(jsDest)); }); 它工作得很好,但由于我使用通配符来标识JS文件,我最终得到了名为name.mi
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的新文件,而不是覆盖现有的缩小文件
我想出的一个解决办法是在我再次丑陋之前,有一个额外的任务来清理这些文件:
gulp.task('cleanUglified', () => {
return del.sync('dist/js/*.min.js');
});
gulp.task('uglify', ['cleanUglified', 'eslint'], () => {
...
});
虽然这样做很好,但我确信一定有办法让我的任务忽略任何名为*.min*
的文件,实际上覆盖任何已存在的文件。已解决-我可以忽略已缩小的文件,并通过使用此模式选择要修改的文件来覆盖它们:
return gulp.src(jsDest+'/*[^.min].js')
编辑
根据以下评论,我已更新至:
返回gulp.src(['*.js','!*.min.js'])
这是错误的,不会像您认为的那样执行[^.min]
分别对所有四个字符
、m
、i
、n
进行求反。这意味着名为main.js
(以n.js
结尾)或zoom.js
(以m.js
结尾)的文件根本不会缩小。关于如何正确解决此问题,请参见相同的问题。