Rails asset pipeline: Forma estándar de incluir todos /vendor/assets/javascripts/?


He estado haciendo la transición de una aplicación a Rails 3.1 (y ahora a 3.2) y he visto el Railscast en la canalización de activos. Moví todos mis archivos de plugin de jquery de terceros al directorio/vendor/assets/ javascripts/. En mi/app/assets/javascripts / application.js Tengo lo siguiente:

//= require jquery
//= require jquery_ujs
//= require_tree .
//= require_self

Me di cuenta de que la llamada require_tree . solo carga el árbol para el directorio /app/assets/javascripts/. (¿Es correcto?) ¿Cuál es la mejor manera de incluir todos los scripts jav del "proveedor"? (Soy no me preocupa ordenar en este punto.) Por supuesto que podría requerirlos línea por línea en / app / assets/javascripts / application.js. Mi otro pensamiento fue crear / vendor/assets/javascripts / vendor_javascripts.js con lo siguiente:

//= require_tree .

Y luego en /app/assets/javascripts/application.js añádase lo siguiente:

//= require vendor_javascripts

Esto parece un poco torpe sin embargo. ¿Hay una mejor manera de incluir automáticamente todos los scripts de java" vendor "(y/o" lib")?

PS. Vi esto sobre el índice.js files, pero potencialmente terminaría con varios archivos llamados index.js, ¿verdad? Y traté de reiniciar mi servidor.

Author: robertwbradford, 2012-01-25

2 answers

Puede agregar algo como esto en su archivo app/assets/javascripts/application.js para incluir todos los scripts jav del proveedor:

//= require_tree ../../../vendor/assets/javascripts/.
 73
Author: Dylan Markow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-25 17:12:17

Sé que es una pregunta antigua, pero puedes crear un archivo de manifiesto en la carpeta vender/assets/javascript:

 #vendor/assets/javascripts/my_jquery_plugins/manifest.js
 # require_tree .

Y en su aplicación.js:

 //= require my_jquery_plugins/manifest.js

Si estás usando Rails 4, nombra manifest.js como index.js y en tu application.js:

//= require my_jquery_plugins

Es menos hackeado que el camino relativo descrito.

 21
Author: lcguida,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-27 20:28:09