我用这个文件配对在大口:
'content/css/*.css'
但是我想只包括那些不以下划线开头的文件。有人能告诉我怎么做吗?代码如下:
gulp.task('less', function () { gulp.src('content/less/*.less') .pipe(less()) .pipe(gulp.dest('content/css')); });
u91tlkcl1#
如果Gulp通配符与shell通配符类似:
content/css/[^_]*.css
字符集开头的^表示匹配字符集中**以外的任何字符。
^
lztngnrs2#
您可以添加第二个glob,它将过滤带有下划线的文件或文件夹。对于我使用的忽略文件夹:
gulp.src(['./src/**/*.html', '!**/_*/**'])
'!**/_*/**'将过滤以下划线开头的文件夹。
'!**/_*/**'
cuxqih213#
使用此插件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支持fileglob而不是full-regex,但是您可以给予content/css/[^_]*.less
content/css/[^_]*.less
9cbw7uwe4#
您可以使用这个正则表达式。
content/css/[^_].*\.css
如有必要,最后添加$。
$
b4qexyjb5#
对于那些使用Python的人(像我一样来自Google),正确的答案是:
import glob glob.glob('content/css/[!_]*.css')
5条答案
按热度按时间u91tlkcl1#
如果Gulp通配符与shell通配符类似:
字符集开头的
^
表示匹配字符集中**以外的任何字符。lztngnrs2#
您可以添加第二个glob,它将过滤带有下划线的文件或文件夹。
对于我使用的忽略文件夹:
'!**/_*/**'
将过滤以下划线开头的文件夹。cuxqih213#
使用此插件https://github.com/robrich/gulp-ignore
我认为gulp支持fileglob而不是full-regex,但是您可以给予
content/css/[^_]*.less
9cbw7uwe4#
您可以使用这个正则表达式。
如有必要,最后添加
$
。b4qexyjb5#
对于那些使用Python的人(像我一样来自Google),正确的答案是: