Grails GSP和模板的关系



当你有一个GSP,然后说你试图渲染一个模板到它的某些部分,如果模板足够复杂,它必须有自己的CSS和JS,哪里是放置模板的CSS和JS的最佳位置?我目前有它内联与模板的标记在同一文件,如,但我觉得它属于与父GSP的css和js喜欢可能在相同的文件?建议吗?

现在父GSP是这样的

<head>
  reference to external file which has the parent GSP's css
  inline JS
</head>
<body>
  ...
</body>

和我稍后渲染到GSP的模板看起来像这样:

inline CSS
inline JS
inline markup

我知道这不是最干净,最好的策略,所以我寻求输入什么是。谢谢。

答案是"这取决于"。这取决于您如何使用模板。

更具体地说,您是否重用了模板?如果是这样,那么将所需的CSS和JS放在模板本身中更有意义,这样它就可以以这种方式自包含和可重用。

如果你只是使用模板进行部分渲染,并且只在特定的父GSP中,那么将CSS和JS包含在父GSP中而不是模板中更有意义。

处理这种情况的最好方法是使用像Grails Resource plugin或Grails Asset Pipeline plugin这样的插件,它们都提供了保持资源(css, JavaScript)文件组织的方法

例如,使用grails资源插件,你可以创建一个模块,其中包括特定的视图资源和模板资源作为依赖项,所有这些都可以使用这个插件,并保持它的干净。

你可以在这篇Marc Palmer Post中找到关于资源插件的有用信息关于这个Bobby Warner Post中的资产管道插件

希望对您有所帮助

最新更新