Gulpでタスクの対象外にしたいファイルやディレクトリを指定する

Web制作の決まりきったものを自動化するのにとても便利なGulpですが、ときにはあるディレクトリの中のディレクトリやファイルを対象外としてタスクを処理したいといったことがあります。

  • Sprite用の画像置き場として作っていた「_sprite/」ディレクトリを除外して納品用のファイルを作りたい
  • Jadeでインクルード用のために作っていたディレクトリを除外してコンパイルしたい

上のような例でJadeで「_inc」ディレクトリを除外する場合には、次のようにタスクに書きます。

目次

JavaScriptの場合

var gulp = require('gulp');
var jade = require('gulp-jade');
gulp.task('jade', function() {
gulp.src(['_jade/**/*.jade', '!_jade/_inc/*.jade'])
    .pipe(jade({pretty: true}))
    .pipe(gulp.dest('./dest/'));
});

CoffeeScriptの場合

gulp = require 'gulp';
jade = require 'gulp-jade';
gulp.task 'jade', ->
gulp.src ['_jade/**/*.jade','!_jade/_inc/*.jade']
.pipe jade
pretty: true
.pipe gulp.dest('./dest/')
return

具体的にはsrcでソースファイルを指定する箇所に、除外したいディレクトリを指定する前に「!」のエクスクラメーションマークを置くだけです。

gulp-ignoreというパッケージもあるようですが、省きたいのはごく一部といったときは、こちらのほうが簡単で楽です。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Webデザイナー→Webディレクター→エンジニア。Web制作会社でWebデザイナーの採用に少し関わっています。

コメント

コメントする

目次