我遇到了一个问题,无法使用Globbing编译一组LESS文件。
我的结构是这样的:
+ dir3
- dir3.1
- dir3.1.1
- dir3.1.2
- dir3.2
- dir3.3
- responsive.less
- fixedwidths.less
每个目录都有一组较少的文件,我想做的是编译responsive.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'
会匹配responsive.less和fixedwidths.less,'!'+paths.source+'responsive/**/*.less'
会忽略其他一切,但事实并非如此。后一个位代码似乎停止了对dir3的所有处理。
有什么帮助吗?
节点glob中存在一个与否定glob模式有关的错误。请参阅此bower问题和此节点glob问题。也许你的问题与此有关?
如果是这样,则此解决方法应适用于'./!('+paths.source+'responsive/**/*.less)'
。