【发布时间】:2014-03-08 12:00:11
【问题描述】:
这是一个非常愚蠢的问题,但我还没有真正找到满意的答案:How do I use gulp globbing to select all files in all某个目录下的子目录?
我试过了:
'./src/less'
'./src/less/'
'./src/less/*'
它们似乎都不起作用。
【问题讨论】:
这是一个非常愚蠢的问题,但我还没有真正找到满意的答案:How do I use gulp globbing to select all files in all某个目录下的子目录?
我试过了:
'./src/less'
'./src/less/'
'./src/less/*'
它们似乎都不起作用。
【问题讨论】:
'./src/less/**' 似乎有效。不过,如果有人有更明确的所有通配命令列表,我很乐意接受您的回答并将其添加到 gulp 文档中。现在,您必须访问 gulp 的其中一个子模块的文档,然后它会为您提供手册页列表。最好有直接参考,尤其是对于使用 gulp 的设计师。
【讨论】:
gulp.watch('./build/**', ...) 似乎(错误?)触发了 parent 目录(例如 ./.git/)中的一些更改。在末尾添加额外的 /* 似乎可以避免这个问题:gulp.watch('./build/**/*', ...).
ln *.* 不匹配。 '.' 有两种不同的含义。 * 似乎可以满足我们的需要。在我看来,. glob 可能永远不是开发人员真正想要的,可能需要抛出警告。
** 是递归的。
** 不应捕获预期目录子树之外的任何内容。唯一的区别是**/* 不包括基本目录本身。
所有目录下所有文件的模式通常是./src/less/**/*.* 或./src/less/**/*,应该都可以。
一般来说,最好匹配特定的文件扩展名——即使它们都应该相同——以防止抓取系统文件或其他垃圾。在这种情况下,您可以对 .less 文件执行 ./src/less/**/*.less,或者对 .less 和 .css 文件执行类似 .src/less/**/*.{less,css} 的操作。
The Grunt website 对大多数 minimatch glob 都有很好的参考。 (Grunt 和 gulp 都使用 minimatch,因为它是几乎所有与 Node 相关的 glob 库。)
gulp 或 minimatch 拥有自己的完整文档会很好,但这对你来说是开源的。
【讨论】:
gulp-watch 模块来观看文件,因为它也可以处理观看新文件。 IMO 需要做更多的设置工作,但值得。