Grails不会加载在静态资源中完成的更改(重新启动时除外)

时间:2013-02-25 17:14:59

标签: caching grails

我的新grails应用程序有一个恼人的问题。我正在尝试为我将要制作的网站模拟设计,但每当我在我的CSS中进行更改时,它都不会影响正在运行的应用程序。无论我做了多大的改变,我都必须停止应用程序,然后再次运行它。

这非常令人沮丧,我已经在Chrome中关闭了缓存,即使我转到特定文档,资源仍然是旧的。我该怎么做才能解决这个问题?我可以对gsp文件进行更改,但更改会显示在我的css中。

我目前正在布局文件中加载资源,如下所示:

<link rel="stylesheet" href="${resource(dir: 'css', file: 'app.css')}" type="text/css">

如果您需要我提供更多信息,请询问。我使用的是grails 2.2.0。

2 个答案:

答案 0 :(得分:19)

将此添加到您的Config.groovy(可能仅用于开发)

grails.resources.debug = true

阅读docs了解详情。

答案 1 :(得分:4)

看起来Gregg的答案对1.3.7不起作用(也许这是2.x中添加的内容?)。我发现可以快速进行CSS更新的方法是在页眉中包含一个单独的GSP作为模板。

也就是说,在与视图文件相同的目录中创建一个名为“_css.gsp”的文件(需要下划线前缀),用html样式标记包围的标准css填充它,然后在布局标题中包含以下内容或页面:

<g:render template="css" />

有了这个,_css.gsp的内容被注入页面。我可以对_css.gsp进行更改,它们会在页面刷新后立即反映出来而无需重新启动Grails。希望这能帮助Grails pre-2.x中的某人!