吞咽和否定

时间:2014-04-16 14:46:55

标签: glob gulp gulp-less

我遇到了一个问题,我无法使用Globbing编译一组LESS文件。

我的结构是:

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

每个dir都有一组较少的文件,我尝试做的是编译responsive.less和fixedwidths.less但我想忽略dir3中的所有剩余文件夹。

用于编译较少文件的My 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'会匹配responsive.less和fixedwidths.less而'!'+paths.source+'responsive/**/*.less'会忽略其他所有内容,但这并不是正在发生的事情。后一位代码似乎停止了对dir3的所有处理。

有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

node-glob中存在与否定的glob模式相关的错误。请参阅此bower issue和此node-glob issue。也许你的问题与此有关?

如果是这样,此解决方法应该有效'./!('+paths.source+'responsive/**/*.less)'