有没有办法在 Brunch 中设置 smart/dynamic 'joinTo' 输出文件?

Is there a way to set smart/dynamic 'joinTo' output-files in Brunch?

首先,我将 post 举例说明我如何“认为”它可以在 Brunch 配置文件中定义:

files:
    javascripts:
        joinTo:
             #  = first sub-match in RegExp
            'app_.js' : /^app_([a-z0-9]*)/
            'vendor.js' : /^vendor/

本质上,我试图找出一种方法,根据存储 Javascript 文件的每个 "app_??????" 文件夹的名称来获得多个输出英寸

所以如果你有这个文件夹结构,你会得到以下输出:

brunch_project/
    app_300x250/
        other.js
        app.js
        index.html
    app_728x90/
        other.js
        app.js
        index.html

    public/
        app_300x250.js
        app_300x250.html
        app_728x90.js
        app_728x90.html
        vendor.js

注意
是的,我没有在配置中显示 HTML 如何获得 renamed/merged 与JS 文件,但这就是我希望它理想地工作的方式。向向我展示如何完成的任何人击掌奖励!

如果您只有两个变体,我建议您只在 assets/ 目录中添加 app_728x90.html 之类的文件。然后,在 app/ 内创建具有分辨率的子文件夹。并在正则表达式中使用它。

如果您需要两个以上的变体,您可以使用 JavaScript / CoffeeScript 代码生成这样的 joinTo 子句:

joinTo = {}
for res in resolutions
  joinTo[res] = ///^app\/#{res}///

exports.config = files: javascripts: joinTo: joinTo