Gulpでの保存前のフォルダクリーンアップ
お気づきかもしれませんが、Gulpはファイルをフォルダに保存する際、以前のファイルを削除しません。
これを実現するには、特別なプラグイン del をインストールする必要があります。
以下のコマンドを実行してインストールしましょう:
npm install del --save-dev
このプラグインは、これまで使用してきたものとは異なり、 pipe メソッドチェーンの外部で使用されます。そのため、今回はタスクグループを作成する必要があります:最初のタスクでフォルダをクリーンアップし、2番目のタスクで実用的な作業を行います。
例として、実用的な作業はCSSの最小化としましょう。
必要なものをすべてインポートしましょう:
let {src, dest, series} = require('gulp');
let cleanCSS = require('gulp-clean-css');
let del = require('del');
フォルダ dist をクリーンアップするタスクを作成します:
function taskDel(cb) {
return del('dist/*');
}
CSSを最小化するタスクを作成します:
function taskCss(cb) {
return src('src/*.css')
.pipe(cleanCSS())
.pipe(dest('dist'));
}
タスクをシリーズ(直列)で実行します:
exports.default = series(taskDel, taskCss);
すべてをまとめると、以下のコードになります:
function taskDel(cb) {
return del('dist/*');
}
function taskCss(cb) {
return src('src/*.css')
.pipe(cleanCSS())
.pipe(dest('dist'));
}
exports.default = series(taskDel, taskCss);
JavaScriptの最小化タスクを作成してください。 タスクを実行するたびにフォルダをクリーンアップするようにしてください。
3つのタスクからなるグループを作成してください:フォルダクリーンアップタスク、CSS最小化タスク、JavaScript最小化タスクです。どのタスクが直列で実行され、どのタスクが並列で実行されるべきか判断してください。