css grails grails-resources-plugin

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.