使用grails资产的重复jquery定义

时间:2017-04-15 16:33:12

标签: grails asset-pipeline assets

如果我有两个依赖于jquery的独立资产并在同一页面中使用两者,则jquery js包含两次。

file1.js
//= require jquery
//= require plugin1.js

file2.js
//= require jquery
//= require plugin2.js
HTML文件中的

<asset:javascript src="file1.js" />
<asset:javascript src="file2.js" />

如何实现只包含一个jquery?

2 个答案:

答案 0 :(得分:1)

似乎在3.0.0版的grails-asset-pipeline中添加了重复数据删除 https://github.com/bertramdev/asset-pipeline/commit/f8bd3d701a5fe14a30f5d89c6e8796f590d4643b#diff-0a3b83b6f81080c1f7f0486f9d5ae1a6

此功能尚未记录,但是根据源代码,我们使用以下语法来确保在同一请求中删除重复项:

    <asset:javascript src="myScript.js" uniq="true"/>

答案 1 :(得分:0)

这就是资产管道的工作原理。如果您的页面需要这两个文件,请创建一个新清单

$ git checkout <remote>/Feature/A
HEAD is now at 3603285
$ git checkout -b Feature/A
$ git merge 775e0fe
Already up-to-date.

然后只需在页面上包含file3

file3.js //= require file1.js //= require file2.js