イナヅマTVログ

Gulp 始めてみましたのメモ – 5 – コピーと削除, ファイル・ディレクトリ

| 0件のコメント

やり方がまずいかもだけど、一時ファイルな最終的には不要ファイルやディレクトリができて削除が必要になりました。
作ったファイルやディレトリのコピーも必要になりました。

Gulp 始めてみましたのメモ – 1 – 導入からCompass
Gulp 始めてみましたのメモ – 2 – CSSをminify
Gulp 始めてみましたのメモ – 3 – JavaScriptをconcat, minify, source mapとYUIDoc
Gulp 始めてみましたのメモ – 4 – taskを順に実行
の続き。

コピー

gulp.src と gulp.dest でコピーが可能でした。

"use strict";
 
var gulp = require( 'gulp' );
var size = require('gulp-size');
 
gulp.task( 'copy', function () {
 
  return gulp.src(
    [
      'COPY_FROM_DIR/**/*.html',
      'COPY_FROM_DIR/**/*.js',
      'COPY_FROM_DIR/**/*.css'
    ]
  )
    .pipe( gulp.dest( 'COPY_TO_DIR' ) )
    .pipe( size( { title: '*** copy ***' } ) );
} );

gulp.src でファイルを指定します。
gulp.dest で出力先を指定します。

削除

Google さんの web-starter-kit/gulpfile.js を参考にしました。
github: google/web-starter-kit/gulpfile.js

del

npm del を使います。
documentによれば使い方は簡単なようです。

var del = require('del');
 
del(['tmp/*.js', '!tmp/unicorn.js'], function (err, deletedFiles) {
    console.log('Files deleted:', deletedFiles.join(', '));
});

第一引数に削除したいファイルやディレクトリを指定すれば良いようです。

gulp.task に組み込みます。

web-starter-kit

// Clean Output Directory
gulp.task('clean', del.bind(null, ['.tmp', 'dist/*', '!dist/.git'], {dot: true}));

web-starter-kitはdelをbindして使ってました。
こんな感じで使いました。

gulp.task( 'clean',
  del.bind( null,
    'REMOVE_ALL_DIR/*',
    {
        base: process.cwd(),
        dot: true,
        force: true
    }
  )
);

option base へ process.cwd() を設定しました。

Qiitaにとてもわかりやすい解説がありました。
Qiita: ファイル削除にはgulpプラグインを使わない

コメントを残す