the rails present not images asset ruby-on-rails ruby ruby-on-rails-3 asset-pipeline

ruby on rails - present - Rails 3.1 Pipeline-Excluir archivo Javascript



the asset is not present in the asset pipeline (4)

Quiero excluir un archivo javascript particular (modernizr) de la canalización porque quiero que se cargue por separado.

Quiero cargar Modernizr al principio y el resto de mi javascript concatenado al final.

¿Hay alguna manera de hacer lo contrario a un requerimiento en la tubería de activos en 3.1? es decir. una exclusión?

Gracias por adelantado.

Adán.


Elegí mantener la funcionalidad de los piñones cambiando

//= require_tree

a

//= require_directory .

Esto mantiene los piñones cargando automáticamente cualquier archivo en el mismo directorio, pero no en ninguna otra carpeta.

Esto me permitió mover Modernizr.js a la carpeta assets / javascripts / top y cargarlo manualmente en la parte superior con:

<%= javascript_include_tag "top/modernizr" %>

y mover

<%= javascript_include_tag "application" %>

En la parte inferior de mi archivo application.html.erb (arriba de la etiqueta de cuerpo de cierre)


Estas respuestas están desactualizadas. Simplemente mueva active_admin.css.scss desde app/assets/stylesheets a vendor/assets/stylesheets .

Haz lo mismo con active_admin.js.coffee (pasa de app/assets/javascripts a vendor/assets/javascripts ).

Sus activos se cargarán cuando sea necesario, y no tendrá que hacer modificaciones a applications.js para acomodar active_admin.

Esta solución se describe en este número . Espero que esto ayude.


Esto es mucho más fácil de lograr yendo a su archivo config / environments / production.rb y agregando la siguiente línea

config.assets.precompile += %w( modernizr.js )

Luego, cuando precompile sus activos, el modernizador tendrá su propio archivo separado que podrá usar en su cabeza.


Me doy cuenta de que esta es una vieja pregunta, pero Google me envió aquí la semana pasada, así que no es una pregunta obsoleta. La respuesta que encontré en otro lugar fue la directiva "stub" para piñones . Así que algo así como

//= require-tree . //= stub Modernizr

Esto mantiene a Modernizr.js fuera de los activos agrupados. Se puede incluir con su propia etiqueta, al estilo de la respuesta original.

El registro de cambios de Sprockets dice que se agregó "stub" en enero de 2012, por lo que no estaría disponible en el momento en que se respondió por primera vez a esta pregunta, pero creo que ahora es una buena respuesta.