Сейчас я остановился на использовании решения Git в сочетании с магией guard-shell .
Шаги, за которыми я следую:
- Создайте каталог
dependencies
где-нибудь на вашем локальном диске
- Клонируйте репозитории с файлами javascript (или css), которые вы хотите использовать в приложении
- Настройте пользовательскую команду
guard-shell
для выполнения следующих действий:
group 'dependencies' do
guard 'shell' do
dependencies = '~/path/to/dependencies/'
watch(%r{backbone-forms/src/(backbone\-forms\.js)}) {|m| `cp #{dependencies + m[0]} vendor/assets/javascripts/#{m[1]}` }
end
end
- Поместите
Guardfile
в корень каталога приложения
Требуется некоторое время для настройки, но после этого, когда у вас запущен Guard и вы вносите изменения в ваши зависимости, необходимые файлы автоматически копируются в каталог вашего приложения, который затем становится частью вашего хранилища.
Кажется, это прекрасно работает, вам нужно проделать определенную работу для каждого нового файла, который вы хотите включить в конвейер ресурсов, но все, что требуется, это клонировать репозиторий в вашем каталоге dependencies
и добавить одну строку в Guardfile, например для backbone-form css
:
watch(%r{backbone-forms/src/(backbone\-forms\.css)}) {|m| `cp #{dependencies + m[0]} vendor/assets/stylesheets/#{m[1]}` }
Кроме того, причина, по которой я добавил этот Guard в group
, заключается в том, что я держу свои зависимости вне основного каталога приложения, что означает, что guard обычно не проверяет мой каталог зависимостей. Для этого я запускаю свои основные процессы Guard с помощью bundle exec guard -g main
и использую bundle exec guard -w ~/path/to/dependencies -g dependencies
в новом окне / вкладке терминала, чтобы указать -w(atchdir)
.