Подтвердить что ты не робот

Конвейер Rails: стандартный способ включения всех/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, правильно? О, и я попробовал перезагрузить мой сервер.

4b9b3361

Ответ 1

Вы можете добавить что-то подобное в свой app/assets/javascripts/application.js файл, чтобы включить все javascripts поставщика:

//= require_tree ../../../vendor/assets/javascripts/.

Ответ 2

Я знаю, что это старый вопрос, но вы можете создать файл манифеста в папке 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

Это менее хакерский, чем описанный относительный путь.