在 Brunch 正则表达式中排除文件

Exclude file in Brunch regular expression

我想在 Brunch 的 joinTo 配置中排除视图文件夹中的文件 mapdata.coffee。

我试过的是

'javascripts/app.js':/^app(\/|\)(?!(tests|store-test|views\/mapdata.coffee))/

我哪里漏了?

似乎它应该可以工作,除非您在使用反斜杠作为路径分隔符的 Windows 系统上。在这种情况下

/^app[\\/](?!(tests|store-test|views[\\/]mapdata.coffee))/

应该可以。

在节点 REPL 中:

> /^app(\/|\)(?!(tests|store-test|views\/mapdata.coffee))/.test('app/views/mapdata.coffee')
false
> /^app(\/|\)(?!(tests|store-test|views\/mapdata.coffee))/.test('app\views\mapdata.coffee')
true
> /^app[\\/](?!(tests|store-test|views[\\/]mapdata.coffee))/.test('app\views\mapdata.coffee')
false
> /^app[\\/](?!(tests|store-test|views[\\/]mapdata.coffee))/.test('app\views\foo.coffee')
true

您还可以使用正则表达式以外的内容来定义您的 joinTo。看看 anymatch documentation.