我们正在从grails 2.5升级到3,作为起点,我们将资源迁移到资产管道。我已经在表面上仔细阅读了文档,但是在测试过程中遇到了导致问题的情况......资源在页面上被多次包含。
问题最好通过示例说明。在assets / javascripts中创建testing.js
文件:
$(document).ready( function() {
alert("test alert");
});
在application.js
(包含在main.gsp布局中)中添加//= require testing
。在应用程序的任何页面上添加<asset:javascript src='testing'/>
。启动页面,警报显示两次。
有没有办法配置资产管道以便不这样做?
我认为我错过了一些东西,因为这似乎是插件传递依赖的一个大问题(例如,一切都取决于jquery)。
将grails.assets.bundle=true
添加到Config.groovy
似乎无济于事。
编辑:使用jquery示例添加说明
我们的应用程序的application.js包含许多其他内容://= require jquery-version.js
我们使用的插件提供的GSP也包括jquery-version.js(在他们自己的资产标签中或通过包含的js文件传递),因为这些页面需要jquery在页面上。也许我有一些基本的误解,但这似乎是正确的......插件GSP应该要求他们的依赖。
现在,在此页面上,多次包含jquery.js。这似乎是资源的一个退步,它将通过传递模块解决多个包含。