Grails2.3将css字体面url更改为;资源:/…”;
我希望在CSS中包含自定义字体,如下所示:Grails2.3将css字体面url更改为;资源:/…”;,css,grails,fonts,font-face,grails-2.3,Css,Grails,Fonts,Font Face,Grails 2.3,我希望在CSS中包含自定义字体,如下所示: @font-face { font-family: TheFont; src: url(fonts/SourceSansProLight.ttf); } CSS由Grails2.3提供,CSS被修改为 @font-face { font-family: TheFont; src: url(resource:/css/fonts/fonts/SourceSansProLight.ttf); } 生成的字体url方案未知
@font-face
{
font-family: TheFont;
src: url(fonts/SourceSansProLight.ttf);
}
CSS由Grails2.3提供,CSS被修改为
@font-face
{
font-family: TheFont;
src: url(resource:/css/fonts/fonts/SourceSansProLight.ttf);
}
生成的字体url方案未知,浏览器无法打开该文件。例如,Chrome报告:
GET resource:/css/fonts/fonts/SourceSansProLight.ttf net::ERR_UNKNOWN_URL_SCHEME
/css/字体也在原始URL的前面
如何指示Grails保持字体URL的原样?解决方案是在Config.groovy中禁用CSS处理:
grails.resources.rewrite.css = false
我在上找到了如何做到这一点的技巧。我认为,at提出了一个更好的解决方案: 您需要确保资源插件知道您的字体文件 以下内容在我的
Config.groovy
中适用,请根据您的路径进行调整:
grails.resources.adhoc.includes = [
'/images/**', '/css/**', '/js/**', '/img/**', '/fonts/**'
]
进行此更改后,您需要运行
grails clean
。我通常使用相对于CSS文件本身的路径-例如。/images/foo.jpg
。您也可以尝试使用插件,它将转换目录下的路径,并使用完整的clean/compile/run应用程序抛出相同的错误。这最终是比上面列出的更好的答案。我真的不明白这是怎么回事,但我把它放在了Config.groovy中,开始抛出一个奇怪的错误