【问题标题】:Grails g:javascript tag with query string generates errorGrails g:带有查询字符串的javascript标记生成错误
【发布时间】:2012-12-20 17:12:44
【问题描述】:

当我创建标签 <g:javascript src="highcharts/highcharts.js?v=255" /> 时,我得到了错误:

I can't work out the type of /tools/js/highcharts/highcharts.js?v=205 with type [text/javascript]. Please check the URL, resource definition or specify [type] attribute

文档说 g:javascript 没有 type 属性,在查看 grails 源代码后,我发现它使用 FileNameUtils.getExtension() 来确定资源的类型。由于这只是执行 lastIndexOf('.') 并返回右侧,因此显然不会找到它。在这种情况下,我们真的不需要添加 v=255,所以我现在可以删除它,但是我仍然希望将来能够这样做。我在这里有什么选择?

Grails 版本是 2.1.2

【问题讨论】:

    标签: grails gsp grails-2.0


    【解决方案1】:

    如何使用 HTML 标签?

    <script src="highcharts/highcharts.js?v=255 type="text/javascript"/>
    

    【讨论】:

    • g:javascript 标签的全部意义在于它与 grails 的资源插件相关联,并为您管理其他生命周期事件,类似于 rails 资产管道
    • 尽管我不应该这样做,但我最终还是这样做了,所以你得到了答案:)
    【解决方案2】:

    如果您只想处理包含 javascript 的版本控制,那么您可以将缓存设置为高并根据需要更改数字,您应该查看 grails cached resources plugin

    我个人认为您希望将 highcharts.js 作为模块的一部分,以便资源插件为您处理。它会在你允许的时候处理版本控制和缩小等。 quick start 应该足以让您继续前进。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      • 1970-01-01
      • 1970-01-01
      • 2012-09-02
      相关资源
      最近更新 更多