ファイルとフォルダの削除
あなたはビルドを開始する前に、あるファイルを削除したいと考えるかもしれません。 ファイルの削除は、ファイルの内容によって形成されるものではないため、 gulpプラグインを使用するのは理に叶っているとは言えません。 これは素のnodeモジュールを使用する良い機会と言えるでしょう。
この例で、複数のファイルとglobbingをサポートするdel
モジュールを使用してみましょう。
$ npm install --save-dev gulp del
下記のファイル構成があると仮定します。
.
├── dist
│ ├── report.csv
│ ├── desktop
│ └── mobile
│ ├── app.js
│ ├── deploy.json
│ └── index.html
└── src
このgulpfileでは、ビルドが開始される前にmobile
フォルダ内を空にします。
var gulp = require('gulp');
var del = require('del');
gulp.task('clean:mobile', function (cb) {
del([
'dist/report.csv',
// 'mobile'フォルダ内部の全てにマッチさせるために、globbingパターンを使用
'dist/mobile/**/*',
// このファイルは削除したくないため、パターンを打ち消し
'!dist/mobile/deploy.json'
], cb);
});
gulp.task('default', ['clean:mobile']);
パイプライン内でファイルを削除
あなたは、パイプラインでの処理後に特定のファイルを削除したいと考えるかもしれません。
vinyl-pathsを使用することで、
簡単にストリーム内でファイルのパスを取得し、del
メソッドに渡すことが出来ます。
$ npm install --save-dev gulp del vinyl-paths
下記のファイル構成があると仮定します。
.
├── tmp
│ ├── rainbow.js
│ └── unicorn.js
└── dist
var gulp = require('gulp');
var stripDebug = require('gulp-strip-debug'); // only as an example
var del = require('del');
var vinylPaths = require('vinyl-paths');
gulp.task('clean:tmp', function () {
return gulp.src('tmp/*')
.pipe(stripDebug())
.pipe(gulp.dest('dist'))
.pipe(vinylPaths(del));
});
gulp.task('default', ['clean:tmp']);
既にパイプライン内で他のプラグインを使用している場合にのみ、これを使用してください。
gulp.src
に直接このモジュールを使用するのはコストが高すぎます。
© 2010 - 2017 STUDIO KINGDOM