gpt4 book ai didi

javascript - 包括页面特定 Assets

转载 作者:行者123 更新时间:2023-12-03 10:23:48 25 4
gpt4 key购买 nike

使用 Grails Assets 管道插件,我试图找出在页面上包含 Assets (javascript) 的最佳方法,而不是将它们编译到 application.js 文件中。目前,这就是我正在做的事情......

在我的布局文件的底部:

<g:set var="workflow" value="${pageProperty(name: 'meta.workflow')}"/>
<asset:javascript src="application.js"/>
<g:if test="${workflow == 'storeAdmin'}">
<asset:javascript src="store/script.js"/>
</g:if>

在views/store/index.gsp header 中:

<meta name="workflow" content="storeAdmin" />

虽然这有效,但感觉就像是黑客攻击。我必须这样做的原因是,如果我只是尝试将 Assets 包含在 View 本身中,而不是布局中,它总是在 application.js 之前渲染,这意味着该脚本中依赖于全局代码的任何内容将失败;例如需要 jQuery 的代码。

最佳答案

我通常使用一种约定来命名页面特定的 javascript 资源,以反射(reflect) Controller 和操作的名称。使用这些和 <asset:assetPathExists>标签我可以将以下内容添加到我的布局中:

<asset:assetPathExists src="${params?.controller ?: 'home'}_${params?.action ?: 'index'}.js">
<asset:javascript src="${params?.controller ?: 'home'}_${params?.action ?: 'index'}.js" />
</asset:assetPathExists>

关于javascript - 包括页面特定 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29502669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com