我现在已经用grails编写了几个月的代码.它们通过main.gsp文件添加到页面中,其中包含以下内容:
<g:javascript library="jquery"/> <r:require module="jquery-ui"/>
jquery和jquery-ui插件已经可以正常用于对话框,排序等,但是我想现在将tabs小部件添加到我的页面中,并且插件框架附带的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' } }
如果我自己移除插件并管理库,我是否需要将其移动到其他地方或更改它?
解决方法
这两个选项都有效.您可以使用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" } }