Las URL de los archivos CSS se rompen con el complemento de recursos Grails 1.2.7
grails-resources-plugin (1)
Recientemente actualicé un proyecto de grails a 2.3.7 y complementos a su más nuevo, que ha llevado el plugin Resources a 1.2.7. Esto funcionó bien con Grails 2.1.2 y el complemento de recursos 1.2RC3, pero ahora no lo es:
cada vez que tengo un archivo css que hace referencia a algo a través de una URL como esta
.checkbox-input-wrap.checked {
background-image: url(/img/uniform-assets/checkbox.png);
}
En la página web lleva a este error (está dejando ''resource: /'' en el frente de la URL)
GET resource: /img/uniform-assets/checkbox.png net :: ERR_UNKNOWN_URL_SCHEME
De acuerdo con mi comentario anterior, esto no fue un problema para mí porque de forma predeterminada todos los recursos en /images
, /css
y /js
se sirven como recursos adhoc en Grails y estaba probando con un archivo .png
partir de images
.
Me volví a encontrar con este problema de parte de mi colega, lo que me hizo pensar dos veces. :) En este caso, intentaba acceder a las fuentes de /fonts
que proporciona un complemento utilizado en la aplicación.
Antes de intentar la respuesta a continuación, intenté desactivar la reescritura de css agregando la siguiente configuración:
//Not required
//grails.resources.rewrite.css = false
pero no tenía sentido para mí, ya que estaba tratando con un recurso de font
.
En definitiva, agregar esto como parte de Config.groovy
para fonts
hizo el truco. Para su caso, debería hacer lo siguiente:
grails.resources.adhoc.includes = [''/img/**'']
//If resource served from a plugin
//grails.resources.adhoc.includes = [''/plugins/**'', ''/img/**'']
Si ya tienes esta configuración, se vería algo así como:
grails.resources.adhoc.includes = [
''/images/**'', ''/css/**'', ''/js/**'', ''/img/**''
]
Pero como dije, es posible que no necesites agregar adhoc para los recursos existentes en una aplicación de Grails.
Hacia adelante
-
grails clean
(para estar en el lado más seguro) -
grails run-app
. - Limpiar el caché del navegador (preferiría un modo de incógnito en Chrome, si Chrome lo usara)
- Toca la URL de la aplicación
Ya no debería quejarse del recurso.