Grails2.4.0上的资产标签

Grails2.4.0上的资产标签,grails,Grails,我在2.4.0版上启动了一个新的grails项目。 在这个版本中,子文件夹资产被添加到grails应用程序文件夹中,以便轻松访问js、css、图像等 但是,我无法访问子文件夹,例如,我得到的文件夹结构如下: grails应用程序/assets/stylesheets/font/font.css 那么当我使用 (注意font.css被放在样式表文件夹中) 但是当我尝试这个时,找不到font.css <asset:stylesheet src="/fonts/font.css"/>

我在2.4.0版上启动了一个新的grails项目。 在这个版本中,子文件夹资产被添加到grails应用程序文件夹中,以便轻松访问js、css、图像等

但是,我无法访问子文件夹,例如,我得到的文件夹结构如下:

grails应用程序/assets/stylesheets/font/font.css

那么当我使用
(注意font.css被放在样式表文件夹中)

但是当我尝试这个时,找不到font.css

<asset:stylesheet src="/fonts/font.css"/>


请建议使用资产标签访问子文件夹的其他方法。

不要直接链接到子文件夹。在
grailsapp/assets/stylesheets
中使用
application.css

application.css
中,通过添加以下内容,告诉资产插件包括您的
font.css

/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS file within this directory can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the top of the
* compiled file, but it's generally better to create a new file per style scope.
*
*= require fonts/font.css
*= require self
*/
在您的布局(GSP)中,然后像这样使用
应用程序.css

<asset:stylesheet src="application.css"/>


这将解决您的问题。

您所采取的方法应该有效。我刚刚作为香草2.4.0项目进行了测试,只添加了上面的标签——它在OSX上运行良好。我能看到的唯一一件不完全标准的事情是,在
字体/font.css
之前,您不需要领先的
/


我会试着把它去掉,然后再仔细检查一下是否有打字错误。您还可以使用控制台(它会抱怨缺少资源)和Chrome Developer工具来调试它请求的地址(在“网络”选项卡中,您应该可以看到带有404错误的资源)。

虽然您提到的聚合样式通常是个好主意,OP采用的方法是有效的,应该在客户端生成一个CSS文件。在每个页面上都包含所有CSS通常是过分的,因此在需要的地方加载模块是一种明智的方法。IMHO如果您想聚合CSS并将其拆分,那么您已经非常需要SASS或更少;)那么,它需要像stylesheets/font/font.css这样的子文件夹吗?我尝试了上面的解决方案,但不起作用。您的样式表标题看起来如何?它是否包括
=要求自我