【问题标题】:grails tag library needs to include javascriptgrails标签库需要包含javascript
【发布时间】:2014-03-09 17:46:38
【问题描述】:

我正在尝试编写一个 grails 插件来允许 grails 应用程序扫描二维码。我正在使用 jsqrcode https://github.com/LazarSoft/jsqrcode 来执行二维码的实际解释。

这意味着我需要在任何使用我的二维码扫描标签的页面中包含一些 javascript 文件。

现在,我创建了一个只导入脚本的标签,看起来像:

StringBuilder sb = new StringBuilder()
sb << """<script src="/${grails.util.Metadata.current.'app.name'}/js/jsqrcode/grid.js"></script>"""
...
sb.toString()

这对我来说感觉很糟糕。

有没有更好(对吗?)的方法来解决这个问题?

为了澄清,创建一个标签来导入特定的 javascript 感觉就像一个杂物,至少有两个原因。首先,这要求使用该插件的人必须在使用此库的任何页面中仅包含一次此“导入”标记(我不喜欢不明显的依赖关系)。其次,我担心使用

${grails.util.Metadata.current.'app.name'}

可能会给使用 url 映射的人带来问题。

【问题讨论】:

    标签: javascript grails taglib


    【解决方案1】:

    为了处理 JS 包含,最好绑定到 Grails Asset Pipeline 插件,该插件正在成为 grails 2.4 中的默认插件。该插件已经有确保文件只包含一次的方法,请查看 documentation

    【讨论】:

    • 我不确定我是否理解这个答案。我创建了一个导入 javascript 库的标签。
    • 是的,对不起,您已经有了标签,为了确保您正确处理 JS 包含,您需要绑定处理单个包含等的内容,有一些选项资源插件或资产管道。我推荐资产管道。
    猜你喜欢
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    相关资源
    最近更新 更多