web-dev-qa-db-ja.com

アンダースコアで始まるファイルを無視するためにglobを使用するにはどうすればよいですか?

私はgulpでこのファイルマッチングを使用しています。

'content/css/*.css'

ただし、しないアンダースコアで始まるファイルのみを含めたいと思います。誰か私にこれを行う方法を教えてもらえますか?

コードは次のとおりです。

gulp.task('less', function () {
    gulp.src('content/less/*.less')
        .pipe(less())
        .pipe(gulp.dest('content/css'));
});
18
Alan2

Gulpワイルドカードがシェルワイルドカードのようなものである場合:

content/css/[^_]*.css

^文字セットの先頭にあるとは、セット内の任意の文字に一致することを意味しますnot

38
Barmar

アンダースコアでファイルまたはフォルダーをフィルタリングする2番目のグロブを追加できます。

私が使用する無視フォルダーの場合:

gulp.src(['./src/**/*.html', '!**/_*/**'])

'!**/_*/**'は、アンダースコアで始まるフォルダーをフィルター処理します。

7
Deni35

このプラグインを使用 https://github.com/robrich/gulp-ignore

var gulpIgnore = require('gulp-ignore');
var condition = '_*.css'; //exclude condition

gulp.task('less', function() {
  gulp.src('content/less/*.less')
    .pipe(gulpIgnore.exclude(condition))
    .pipe(less())
    .pipe(gulp.dest('/dist/'));
});

Gulpはファイルglobをフル正規表現ではなくサポートしていると思いますが、content/css/[^_]*.less

2
Pratap Koritala

この正規表現を使用できます。

content/css/[^_].*\.css

追加 $最後に必要に応じて。

1
Avinash Raj