Grunt全局匹配模式

8

如何匹配以下模式。

  1. 匹配目录 .tmp 中的所有 HTML 文件
  2. 递归地匹配目录 .tmp/views 及其所有子目录中的所有 HTML 文件

这是在 Grunt 文件中注册 livereload 任务。

我尝试了下面配置的几种变体。它可以匹配 .tmp 目录中的所有文件,但不能递归匹配 .tmp/views 目录。

也尝试过以下方法:

 '.tmp/{,views/**/}*.html'

但结果相同。
 livereload: {
                    options: {
                        livereload: LIVERELOAD_PORT
                    },
                    files: [
                        '.tmp/{,views/**}*.html'
                    ]
                }
1个回答

10

通过在文件数组中传递两个元素,您应该能够获得所需的匹配:

files: [
    '.tmp/*.html',
    '.tmp/views/**/*.html',
]

这将匹配任何直接位于.tmp/下的.html文件,以及任何.tmp/views/中的.html文件,无论是直接在该目录下还是更深层次的(/**/ 部分)。


+1,它有效。为了完整起见,它与模式'.tmp/{,views/**/}*.html'有何不同,谢谢。 - bsr
我有一种感觉,可能是因为逗号前的表达式为空,虽然我不确定。无论如何,我会使用上面的数组语法,因为它更清楚地说明了它匹配的内容。 - Bojangles

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接