我在 Grails 2.0.1 中使用 Resources 插件。我遇到的问题是使用 r:external 指定的 JavaScript 资源被放置在之前使用 r:require 或 r:external 声明的所有其他脚本之后,所有这些都在延迟处置中。当前,使用 r:external 指定的资源正在放置 r:external 标记的位置输出。
我有一个布局文件,其中包含一个 r:require 标签来获取一些核心资源:
<html>
<head>
...
<r:require module="core" />
</head>
....
</html>
然后是一个 GSP,其中包含另一个 r:require 标记,后跟一个 r:external 标记:
<head>
...
<r:require module="forms" />
<r:external dir="js" file="page-specific-resource.js" /> %{-- specifying disposition="defer" has no effect --}%
....
</head>
...
我的期望是,我尝试包含的每个 JavaScript 资源都将在延迟配置中输出,首先是核心资源,其次是表单资源,最后是特定于页面的资源。实际结果是在deferred disposition中按预期输出core和forms资源,但是在head中输出page-specific资源,这里放了r:external标签(指定disposition="defer"好像没有效果)。
我的期望是不正确的还是这是一个合法的问题?是否有另一种方法来指定特定于页面的资源(我试图避免在资源 DSL 中声明这些类型的资源)并在所有先前声明的资源之后定位?