Ответ 1
Вы можете добавить что-то подобное в свой app/assets/javascripts/application.js
файл, чтобы включить все javascripts поставщика:
//= require_tree ../../../vendor/assets/javascripts/.
Я переводил приложение в Rails 3.1 (и теперь на 3.2) и смотрел Railscast в конвейере активов. Я переместил все файлы сторонних jquery-плагинов в каталог /vendor/assets/javascripts/. В моем /app/assets/javascripts/application.js у меня есть следующее:
//= require jquery
//= require jquery_ujs
//= require_tree .
//= require_self
Я понял, что вызов require_tree .
загружает только дерево для каталога /app/assets/javascripts/. (Это правильно?) Какой лучший способ включить все "вендор" javascripts? (Я не беспокоюсь о заказе на данный момент.) Конечно, я мог бы потребовать их по очереди в /app/assets/javascripts/application.js. Моя другая мысль заключалась в создании /vendor/assets/javascripts/vendor _javascripts.js со следующим:
//= require_tree .
И затем в /app/assets/javascripts/application.js добавьте следующее:
//= require vendor_javascripts
Это кажется немного неуклюжим. Есть ли лучший способ автоматически включать все "вендор" (и/или "lib" ) javascripts?
PS. Я видел об файлах index.js, но я мог бы в конечном итоге создать несколько файлов с именем index.js, правильно? О, и я попробовал перезагрузить мой сервер.
Вы можете добавить что-то подобное в свой app/assets/javascripts/application.js
файл, чтобы включить все javascripts поставщика:
//= require_tree ../../../vendor/assets/javascripts/.
Я знаю, что это старый вопрос, но вы можете создать файл манифеста в папке vender/assets/javascript:
#vendor/assets/javascripts/my_jquery_plugins/manifest.js
# require_tree .
И у вас application.js:
//= require my_jquery_plugins/manifest.js
Если вы используете Rails 4, назовите manifest.js
как index.js
и в application.js
:
//= require my_jquery_plugins
Это менее хакерский, чем описанный относительный путь.