escape - La canalización de activos de Rails 3.1 no recoge los cambios en @ hojas importadas
haml syntax (2)
Yo uso @import
''d hojas parciales para organizar mi css / sass:
/app
/assets
/stylesheets
_constants.sass
_layout.sass
...
app.css.sass
app.css.sass:
@import _constants.sass
// basic styles
@import _layout.sass
@import ...
app.css.sass
tiene una regla @import
para _layout.sass
, que me permite compartir los mixins y las variables entre los archivos sass en bruto antes de que se cumplan en app.css
El problema es que Rails no reconoce los cambios en los parciales de @import
''d ( _layout.sass
) y no regenera app.css
hasta que realice un cambio en el archivo app.css.sass
real. Esto ralentiza dramáticamente mi flujo de trabajo y significa que tengo que agregar / eliminar líneas en blanco de app.css.sass
para ver los cambios. Nunca tuve este problema en 3.0.
¿Hay una manera de forzar a los activos sass a regenerarse en cada solicitud de servidor en desarrollo?
El uso de una directiva depend_on
puede hacer lo que necesite. Esto hace que el archivo dado sea una dependencia del archivo base (por lo que el archivo base se regenera cuando cambia la dependencia), pero no lo incluye en el paquete.
Por ejemplo:
/*
*= depend_on _layout.sass
*= depend_on _constants.sass
*/
@import _layout.sass
@import _constants.sass
Vea esta publicación del blog de sass and sprockets así como la documentación de los sprockets (especialmente la sección de directivas).
La respuesta de nanothief me llevó a la solución (¡gracias!) Pero de manera indirecta. Una vez que finalmente encontré el tiempo para volver aquí y buscar la publicación de referencia, se había actualizado para decir que la solución ya no era necesaria.
Efectivamente, parece que este error se ha corregido en Rails 3.1.0 estable con sass-rails para 3.1.0. ¡Tan bueno! He confirmado que la actualización de las gemas hace que todo vuelva a funcionar correctamente, probado en un par de aplicaciones.