Gruntfile.js路径中的“{,* /}”是什么意思?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (60)

Gruntfile.js,我得到了:

watch: {
    styles: {
      files: [
        '<%= yeoman.app %>/styles/{,*/}*.less'
      ],
      tasks: ['copy:styles', 'autoprefixer']
    }
}

对于路径,{,*/}意味着什么?这与使用双星号**/有何不同?

提问于
用户回答回答于

这种模式在yeoman模板中被广泛使用:它意味着在文件夹层次结构中只查看一个层次。它主要用于性能方面的原因,因为同时观看太多文件可能会很慢(甚至不可能)。

用户回答回答于

这些是Grunt的globbing模式,由node-globminimatch库支持。

基本上:

  • *匹配任意数量的字符,但不匹配 /
  • **匹配任意数量的字符,包括 /,只要它是路径部分中的唯一字符
  • {}允许使用逗号分隔的“或”表达式列表

所以,styles/{,*/}*.less匹配以下文件:

  • styles目录中的LESS文件
  • LESS文件位于目录直接子目录styles(但不会更深)

扫码关注云+社区

领取腾讯云代金券