ruby on rails 3.1 - Canalización de activos de Rails: forma estándar para incluir todos/vendor/asset/javascripts/?
format.js rails (2)
He estado haciendo la transición de una aplicación a Rails 3.1 (y ahora a 3.2) y vi el Railscast en el canal de activos . Moví todos mis archivos de plugin de jquery de terceros al directorio / vendor / asset / javascripts /. En mi /app/assets/javascripts/application.js tengo lo siguiente:
//= require jquery
//= require jquery_ujs
//= require_tree .
//= require_self
Me di cuenta del require_tree .
call solo carga el árbol para el directorio / app / asset / javascripts /. (¿Es correcto?) ¿Cuál es la mejor manera de incluir todos los javascripts del "proveedor"? (No estoy preocupado por hacer pedidos en este momento). Por supuesto, 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 agregue lo siguiente:
//= require vendor_javascripts
Aunque esto parece un poco torpe. ¿Hay una mejor manera de incluir automáticamente todos los javascripts del "proveedor" (y / o "lib")?
PD. Vi esto acerca de los archivos index.js , pero potencialmente podría terminar con varios archivos llamados index.js, ¿verdad? Ah, y he intentado reiniciar mi servidor a lo largo.
Puedes agregar algo como esto en tu app/assets/javascripts/application.js
para incluir todos los javascripts del proveedor:
//= require_tree ../../../vendor/assets/javascripts/.
Sé que es una pregunta antigua, pero puede crear un archivo de manifiesto en la carpeta vender / asset / javascript:
#vendor/assets/javascripts/my_jquery_plugins/manifest.js
# require_tree .
Y en tu aplicación.js:
//= require my_jquery_plugins/manifest.js
Si está utilizando Rails 4, nombre el manifest.js
como index.js
y en su application.js
:
//= require my_jquery_plugins
Es menos hacky que el camino relativo descrito.