手动添加 jquery 和 jquery-ui 到 grails 项目

Posted

技术标签:

【中文标题】手动添加 jquery 和 jquery-ui 到 grails 项目【英文标题】:Manually add jquery and jquery-ui to grails project 【发布时间】:2013-04-11 20:21:03 【问题描述】:

我已经在 grails 中编写代码几个月了。它们通过 main.gsp 文件添加到页面,其中包含以下内容:

<g:javascript library="jquery"/>
<r:require module="jquery-ui"/>

jquery 和 jquery-ui 插件在对话框、排序等方面运行良好,但我现在想将选项卡小部件添加到我的页面中,并且插件框架附带的 jquery 和 jquery-ui 版本不' t 似乎与他们合作。当我将源直接添加到页面时:

<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>

一切正常。所以现在我正在考虑完全转储插件并手动添加库。

执行此操作的最佳方法是什么?我可以将它们放在 /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'
    

如果我删除插件并自己管理库,是否需要将其移动到其他地方或更改它?

【问题讨论】:

【参考方案1】:

这两个选项都有效。您可以使用Config.groovyApplicationResources.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"
  

【讨论】:

我向仲裁庭提出这个答案被接受。 @Michels 你能分享一下放置 jquery.js 文件的位置吗?我删除了插件,然后添加了上面的行,但我的 jquery 没有加载。

以上是关于手动添加 jquery 和 jquery-ui 到 grails 项目的主要内容,如果未能解决你的问题,请参考以下文章

jquery-ui 和 webpack,如何将其管理到模块中?

Rails 6:如何通过 webpacker 添加 jquery-ui?

在 jquery-ui datepicker 中的“今天”按钮上添加事件侦听器

添加一个包含 javascript 的用户控件会破坏 jquery-ui

jquery-ui和webpack,如何将其管理到模块中?

JQuery UI和RequireJS错误地映射小部件