我有两个文件夹,两个文件夹都包含一些html模板文件。我需要将这些文件缩小到单独的文件夹。
文件夹结构
|src
|--clientTemplates
|----abc.html
|----xyz.html
|--serverTemplates
|----abc.html
|----xyz.html
所需的目标文件夹
|dist
|--client
|----abc.html
|----xyz.html
|--server
|----abc.html
|----xyz.html
以下是我的gulpfile,其中为
定义了任务var gulp = require('gulp');
var htmlmin = require('gulp-htmlmin');
var replace = require('gulp-replace');
var del = require('del');
var minOptions = {
collapseWhitespace: true,
minifyJS: { output: { quote_style: 1 } },
minifyCSS: true
};
gulp.task('clean', function(done) {
del(['dist'], done());
});
gulp.task('minify:serverTemplates', function() {
return gulp
.src('src/serverTemplates/*.html')
.pipe(htmlmin(minOptions))
.pipe(replace('\\', '\\\\'))
.pipe(replace('"', '\\"'))
.pipe(gulp.dest('dist/server'));
});
gulp.task('minify:clientTemplates', function() {
return gulp
.src('src/clientTemplates/*.html')
.pipe(htmlmin(minOptions))
.pipe(gulp.dest('dist/client'));
});
gulp.task(
'default',
gulp.series('clean', 'minify:serverTemplates', 'minify:clientTemplates', function inSeries(done) {
done();
})
);
当我运行gulp命令时,它第一次运行正常,但在其他运行中会引发错误。 第一次运行gulp命令
无法弄清楚那里到底是什么错误。 清理任务完成后,还有没有办法并行运行两个缩小任务?
感谢您的帮助。
答案 0 :(得分:1)
您传递给del
的回调是错误的。只要兑现承诺:
gulp.task('clean', function() {
return del(['dist']);
});
关于并行运行缩小任务,请使用gulp.parallel
:
gulp.task(
'default',
gulp.series(
'clean',
gulp.parallel('minify:serverTemplates', 'minify:clientTemplates')
)
);