2012-08-10 11 views
5

Estoy comprimiendo mis JavaScript a través de assetic (bloque en rama para todos los guiones en un directorio) que funciona bien en modo prod. Ahora quiero usar el modo de depuración para mi prod env, así que cambio el recurso a depurar en la configuración, borro el caché y vuelco los activos con la depuración activada.El volcado de activos de Symfony 2.0 produce nombres incorrectos en el modo de depuración

Esto funciona para algunos pero no todos los javascript. Symfony les agrega un número de sufijo que es más alto (por uno) en el sitio web (etiqueta de javascript) en oposición al archivo real. A veces, borrar el caché y volver a tirar solucionó el problema, pero esta vez no.

Por ejemplo: Se vuelca: /web/js/main_part_3_jquery-ui_6.js Pero utiliza: /web/js/main_part_3_jquery-ui_1.js

Entonces, ¿cómo puedo solucionar esto?

Editar: El sufijo wron no aparece en la primera solicitud al sitio después de limpiar la caché.

+0

¿Qué comando usas para un volcado Assetic? –

+0

assetic: dump --env = prod – Johni

+1

Es el comportamiento esperado del modo de depuración de activos para producir archivos múltiples. ¿Por qué querrías usar el modo de depuración en prod? (es decir: "¿Ahora quiero usar el modo de depuración para mi prod env" WTF?) – AdrienBrault

Respuesta

3

Desde app/console assetic:dump es sensato para los archivos almacenados en caché yml - debe borrar el caché para eliminar activos cada vez que cambie la configuración.

Lo mejor de todo es hacerlo en esta secuencia:

rm -rf app/cache/* 
app/console assets:install web 
app/console assetic:dump 

Por supuesto, con las teclas de depuración, los ambientes necesarios y así sucesivamente

+2

Sí, intenté eliminar el caché manualmente, lo cual no resolvió el problema. Lo que también es extraño es que está en mi máquina de desarrollo (Win) pero no en el servidor (Linux). – Johni

2

tuve un problema similar de múltiples generada activos y Symfony no incluyendo el bueno en exhibición.

que era debido a que revienta permitido en mi caso caché, y fue aparentemente mal configurado. (Aparentemente es útil cuando necesita una nueva versión de sus archivos, por ejemplo, cuando actualiza su .js en dev pero no quiere romper prod)

Así que deshabilitarlo en config.yml lo arregló.

 
assetic: 
    workers: 
     cache_busting: 
      enabled: false 
Cuestiones relacionadas