我现在已经用grails编写了几个月的代码。它们通过main.gsp文件添加到页面中,其中包含以下内容:
<g:javascript library="jquery"/>
<r:require module="jquery-ui"/>
jquery和jquery-ui插件在对话框,排序等方面运行良好,但是我想现在将标签小部件添加到我的页面,插件框架附带的jquery和jquery-ui版本似乎与他们合作。当我将源直接添加到页面时:
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
一切正常。所以现在我正在考虑完全转储插件,只是手动添加libs。
这样做的最佳方法是什么?我可以将它们放在/ js目录中并修改ApplicationResources.groovy来引用它们,但是一位同事提到他更喜欢将它们添加到Config.groovy的grails.resources.modules部分。我想知道实现这一目标的最佳方法是什么。
我在Config.groovy中也有以下内容:
grails.resources.modules = {
overrides {
'jquery-theme' {
resource id: 'theme', url: '/css/smoothness/jquery-ui-1.10.0.custom.css'
}
}
我是否需要将其移动到其他位置或者如果我自己移除插件并自行管理库,则需要更改它?
答案 0 :(得分:8)
这两个选项有效。您可以使用Config.groovy
或ApplicationResources.groovy
。
在删除插件之前,我建议您检查是否存在所需的版本。 grails.org的插件门户网站只会显示最新版本。我在这里试过:jquery:1.9.1
但:jquery-ui:1.10
没有。
因此,如果需要,可以为JQuery和JQuery UI声明资源。只需删除插件和覆盖,然后添加配置。这些文件必须放在js和/或css文件夹中。
您还可以检查环境并根据需要更改为缩小版本。例如:
//use the minified version in production
def minified = GrailsUtil.isDevelopmentEnv() ? "" : ".min"
modules = {
jquery {
resource url: "/js/jquery-1.9.1${minified}.js"
}
'jquery-ui' {
resource url: "/js/ui/1.10.2/jquery-ui${minified}.js"
resource url: "/css/smoothness/jquery-ui-1.10.0.custom${minified}.css"
}
}