2014-11-15 4 views
1

Это может быть случай, когда я пропускаю совершенно очевидное решение, но я уже пробовал несколько подходов и чувствую себя потерянным.Прекомпиляция Bower и Asset в Rails

Текущая ситуация в том, что у меня есть проект Rails, который использует беседу для управления внешними активами (jQuery, Angular .. вы получаете идею). Я использовал как gower-rails gem, так и «vanilla» bower.json для написания зависимостей с поставщиками/активами/bower_components.

Я могу использовать все в режиме dev-mode, так как я не использую uglifier там для предварительной обработки активов. Но в режиме производства некоторые активы, такие как jQuery, не скомпилируются. Это связано с тем, что uglifier пытается скомпилировать и обнулить исходные файлы для jQuery, а не только использовать материал, находящийся в папке dist (который, как вы догадались, подготовлен для распространения).

Что бы я хотел сделать, это включить только файлы, относящиеся к дистрибутиву, из файлов, предоставленных с помощью беседки на фазе предварительной компиляции, и я понятия не имею, как туда добраться.

Любая помощь приветствуется, спасибо.

ответ

3

Вы можете явно определить, что вы хотите перекомпилировать в config/initializers/assets.rb:

Rails.application.config.assets.precompile += %w(dist/*) 

По умолчанию precompiles application.js и application.css и некоторые другие вещи, вы можете переопределить это поведение, если не хотите, чтобы они были предварительно скомпилированы.

Взгляните на Rails official guide, в нем объясняется, как использовать более сложные правила включения активов для предварительной компиляции.

+0

Хорошо, я решил, что могу настроить загружаемое и написать необходимую логику, но .. Я надеялся, что кто-то уже это сделал. На данный момент я просто отключил предварительную компиляцию активов, и все в порядке с их компиляцией точно в срок. – moritz

Смежные вопросы