首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Glob / minimatch:如何gulp.src()所有内容,然后排除文件夹,但在其中保留一个文件

Glob / minimatch:如何gulp.src()所有内容,然后排除文件夹,但在其中保留一个文件
EN

Stack Overflow用户
提问于 2014-10-21 11:30:07
回答 1查看 26.8K关注 0票数 31

我有一个这样的项目:

代码语言:javascript
复制
root
  |-incl1
  |-incl2
  |- ...
  |-excl1
  |-excl2
     |- .gitignore  <-- keep this one
     |- (other files)  <-- exclude them

我需要编写gulp.src(),它将包括除excl1excl2 以外的所有文件夹,但保留.gitignore文件。

这是我的代码,不起作用:

代码语言:javascript
复制
gulp.src([
  baseDir + '/**',
  '!' + baseDir + '/{excl1, excl1/**}'
  '!' + baseDir + '/excl2/{**, !.gitignore}'  // <-- doesn't work
], {dot: true})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-21 16:47:32

这似乎是可行的:

代码语言:javascript
复制
gulp.src([
    baseDir + '/**',                              // Include all
    '!' + baseDir + '/excl1{,/**}',               // Exclude excl1 dir
    '!' + baseDir + '/excl2/**/!(.gitignore)',    // Exclude excl2 dir, except .gitignore
], { dot: true });

从glob匹配中排除单个文件是很棘手的,因为在minimatch文档中没有类似的例子。

https://github.com/isaacs/minimatch

“如果模式以!字符开头,那么它将被否定”。

票数 73
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26485612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档