2

Globbing を使用して LESS ファイルのセットをコンパイルできないという問題があります。

私の構造はこれです:

+ dir3
  - dir3.1
    - dir3.1.1
    - dir3.1.2
  - dir3.2
  - dir3.3
  - responsive.less
  - fixedwidths.less

各ディレクトリにはより少ないファイルのセットがあり、私がやろうとしているのは、respond.less と fixedwidths.less をコンパイルすることですが、残りのすべてのフォルダーを無視したいdir3.

より少ないファイルをコンパイルするための私の Gulp Glob は次のとおりです。

var paths = {
    root: 'Publication/',
    source: 'Publication/LESS/',
    styles: 'Publication/**/*.less'
}

// Compile less files
gulp.task('styles', function() {
    gulp.src([
            paths.source+'**/*.less', // compile it all
            '!'+paths.source+'**/variables.less', // ignore all variables.less
            paths.source+'responsive/*.less', // compile responsive & fixedwidths
            '!'+paths.source+'responsive/**/*.less' // ignore all less files in subdir of dir3
        ])
        .pipe(less())
        .pipe(gulp.dest(paths.root+'build'))
});

私はそれがpaths.source+'responsive/*.less'Respond.less と fixedwidths.less に一致し、'!'+paths.source+'responsive/**/*.less'他のすべてを無視することを期待していましたが、それは起こっているようには見えません。後者のビット コードは、dir3 のすべての処理を停止するようです。

何か役立つことはありますか?

4

1 に答える 1

0

否定されたグロブ パターンに関連するノード グロブにバグがあります。このbower issueと this node-glob issueを参照してください。多分あなたの問題はこれに関連していますか?

その場合、この回避策は機能するはず'./!('+paths.source+'responsive/**/*.less)'です。

于 2014-04-17T13:33:05.013 に答える