¿Alguien sabe cómo se calcula exactamente el valor de resumen de activos? Si tengo dos archivos JS que contienen varios otros scripts JS incluidos, ¿mantendrá cada archivo el mismo hash de resumen si no se han modificado ninguno de los scripts internos? ¿O se calcula un nuevo valor de resumen cada vez que se activan los activos: se ejecuta la operación de precompilación?Rails asset Pipeline y valores de resumen
Respuesta
agarró por rails guides
Cuando un nombre de archivo es única y en base a su contenido, las cabeceras HTTP pueden pueden configurar para fomentar cachés en todas partes (ya sea en el CDN, a los ISP, en equipos de red, o en la Web navegadores) para mantener su propia copia de el contenido. Cuando el contenido se actualiza, la huella digital cambiará. Esto hará que los clientes remotos soliciten una nueva copia del contenido . Esto se conoce generalmente como prevención de memoria caché.
La técnica que utiliza Rails para la toma de huellas digitales es insertar un hash del contenido en el nombre, generalmente al final. Por ejemplo, un archivo CSS global.css podría ser renombrado con un MD5 de su contenido
La respuesta aceptada no es del todo cierto. Construimos activos estáticos para nuestros servidores de producción, demostración y producción, y el mismo activo recibe diferentes valores de resumen en cada caso.
Resulta que el entorno Rails también se está teniendo en cuenta. Piñones crea el resumen de la siguiente manera:
# Sprockets::Environment::initialize
@digest_class = ::Digest::MD5
# Sprockets::Base::digest
@digest ||= digest_class.new.update(VERSION).update(version.to_s)
# Sprockets::Base::file_digest(path)
digest.file(path.to_s)
# Sprockets::Asset::initialize
@digest = environment.file_digest(pathname).hexdigest
Rieles ganchos en las ruedas dentadas de la siguiente manera:
# Sprockets::Railtie
app.assets = Sprockets::Environment.new(app.root.to_s) do |env|
env.version = ::Rails.env + "-#{config.assets.version}"
...
end
Así carriles es la creación de un entorno de ruedas dentadas que tiene una versión igual al entorno de rieles y ruedas dentadas utiliza la versión al crear la clase de resumen
- 1. ¿Cómo puedo desactivar Rails 3.1 Asset Pipeline?
- 2. Uncompile Development Asset Pipeline
- 3. Asset pipeline force js.erb recompilación
- 4. Rieles: Uso LiveReload con Asset Pipeline
- 5. Rails 3.1.1 - Asset Pipeline - asset.prefix no funciona con resource: assets
- 6. rails asset Pipeline "No se puede asignar memoria - nodejs"
- 7. Rails Asset Pipeline Better Error o Stack Trace
- 8. Rails 3.2 Asset Pipeline + html5shiv.JS en vendors/assets/javascript
- 9. Cómo obtener recursos de ckeditor para compilar y cargar en Rails 3.1 asset Pipeline
- 10. Cómo usar Jade/Haml con Rails 3.1 asset Pipeline y Backbone.js
- 11. ¿Es posible forzar la generación de activos con Rails Asset Pipeline?
- 12. URL de las imágenes en código JavaScript utilizando Rails 3.1 asset Pipeline?
- 13. Rails asset Pipeline: forma estándar para incluir todo/vendor/assets/javascripts /?
- 14. Rails 3.1 con Asset Pipeline, link_to: ¿confirma el mensaje que se muestra dos veces?
- 15. Rails asset Pipeline en la puesta en escena: huella digital correcta, pero 404ing
- 16. Rails 3.1 Asset StyleSheet sorting
- 17. Javascript y CSS se cargan dos veces debido a Asset Pipeline
- 18. Pipeline de activos al actualizar a Rails 3.1 en Heroku
- 19. Rails 3.1 Pipeline - Exclude Javascript File
- 20. Rails asset pipleline: compilar en varias hojas de estilo
- 21. Rails 3.1: ¿Por qué rails_admin provoca que `rake asset: precompile` falle?
- 22. Maven: Resumen de los valores de las propiedades de Maven
- 23. Pipeline spider_opened y spider_closed no se llama
- 24. manejo de valores en blanco en un resumen anidada
- 25. HTML5 Video y Rails 3
- 26. activos Pipeline: excluir un archivo admin.css
- 27. ZeroMQ pipeline pattern
- 28. valores constantes en Rails
- 29. Obtener imagen y resumen pertinente de URL
- 30. Rails 3 y guardar valores decimales de un formulario
Entonces, ¿se realiza una operación md5_file() simple en el archivo final después de realizar toda la fusión y compresión? ¿Ese valor md5 termina siendo el resumen del archivo correcto? – matsko
Según los documentos, sí. Puede consultar [otra guía] (http://guides.rubyonrails.org/asset_pipeline.html#in-production) para obtener más detalles. – Tomato