Есть ли способ установить интеллектуальные / динамические выходные файлы 'joinTo' в Brunch?
Сначала я опубликую пример того, как я "думаю", что он может быть определен в конфигурационном файле Brunch:
files:
javascripts:
joinTo:
# $1 = first sub-match in RegExp
'app_$1.js' : /^app_([a-z0-9]*)/
'vendor.js' : /^vendor/
По сути, я пытаюсь найти способ иметь несколько выходов, основанных на названии каждого "приложения _??????" папки, в которых хранятся файлы Javascript.
Поэтому, если у вас есть эта структура папок, вы получите следующий вывод:
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 будет переименовываться / объединяться так же, как файлы JS, но я бы хотел, чтобы он работал идеально. Бонусная пятерка для тех, кто показывает мне, как это делается!
1 ответ
Если у вас есть только два варианта, я бы предложил добавить такие файлы, как app_728x90.html
внутри assets/
каталоги. Затем создайте подпапки с разрешениями внутри app/
, И используйте это в регулярных выражениях.
Если вам нужно более двух вариантов, вы можете использовать код JavaScript / CoffeeScript для генерации joinTo
пункт, как это:
joinTo = {}
for res in resolutions
joinTo[res] = ///^app\/#{res}///
exports.config = files: javascripts: joinTo: joinTo