3

我了解 brunch 如何处理 javascript 文件,将它们组合成单独的输出文件:

  files:
    javascripts:
      joinTo:
        'javascripts/app.js': /^app/
        'javascripts/vendor.js': /^vendor/
        'test/javascripts/test.js': /^test(\/|\\)(?!vendor)/
        'test/javascripts/test-vendor.js': /^test(\/|\\)(?=vendor)/

例如,第二行获取 /vendor/ 文件夹中的所有 javascript 文件并生成 vendor.js

正则表达式 (/^vendor/) 指定的文件夹路径是否正确?有什么方法可以让正则表达式也适用于文件名?例如,如果有 jquery.js 和 jquery.min.js,我只想包含 jquery.js 文件。这可能吗?

4

3 回答 3

5

您可以使用函数来测试路径。有了它们,东西应该很简单:

joinTo:
  'javascripts/vendor.js': (path) ->
    /^vendor/.test(path) and not /\.min\.js$/.test(path)
于 2013-03-28T03:25:03.453 回答
2

您可以提供要忽略的路径。正则表达式应匹配文件的完整路径,包括文件名。

paths:
  public: '../deploy'
  ignored: 'vendor/styles/bootstrap'
  test: 'spec'

忽略的键:字符串、正则表达式、函数或它们的数组。将检查早午餐编译器将忽略的文件。

但正如 Amberlamps 建议的那样,您可以使用正则表达式排除文件中的 *.min.js 文件。

PS:从未测试过它,但在某处的文档中提到它/_spec\.\w+$/与 user_spec.js 匹配。

于 2013-03-27T15:57:31.853 回答
1

我以前从未使用过 brunch,但如果它使用 RegExp 查找特定路径,您可以使用以下命令排除 *.min.js 文件:

/^((?!vendor\/.*\.min\.js).)*$/

我使用以下答案作为参考:正则表达式匹配不包含单词的字符串?

于 2013-03-27T12:51:00.697 回答