Grails 插件中的自定义 CSS 和 JS
Posted
技术标签:
【中文标题】Grails 插件中的自定义 CSS 和 JS【英文标题】:Custom CSS and JS in Grails plugins 【发布时间】:2014-05-20 12:03:36 【问题描述】:我正在构建一个 Grails 插件 (grails-myorg.zip
),其中将包含我们组织中的每个 Grails 应用程序都应该使用的可重用代码/工件。这包括自定义 CSS/JS 文件,这些文件有助于为我们的应用提供一致的外观和感觉。
我想知道这里最好的做法是什么:
创建一个grails-myorg-themes.zip
插件,它只包含可重用的CSS和JS文件,然后将其作为主grails-myorg.zip
插件的运行时插件/依赖项(使用BuildConfig.groovy
);或
将 CSS/JS 文件放在主 grails-myorg.zip
插件中,然后使用 Grails 资源插件为所有下游依赖项配置文件。
最终唯一的要求是:
只要开发人员将主要的 grails-myorg.zip
插件作为其应用插件的一部分,那么自定义 CSS/JS 文件将在运行时(通过 URL)可用于应用的 HTML 文件。这方式,他们有选项在他们的应用程序中包含CSS样式和其他JS东西 - 在这些公共文件中定义。
我应该使用哪种策略,为什么以及配置是什么样的?
【问题讨论】:
女巫grails-myorg.zip
会有什么功能?
【参考方案1】:
如果grails-myorg
的唯一目的只是成为grails 应用程序的资源提供者,我认为不需要拥有grails-myorg-themes
插件。
第二个选项看起来像是已经布置好的场景的良好开端。如果资源发生变化和/或更新,升级插件版本就足够了。
什么:
插件中不需要资源插件,应用程序应该使用资源插件。如果grails-myorg
插件中使用了所有资源插件,则应在构建配置中使用 export = false
将其排除在包中。
创建可在应用程序中轻松使用的业务特定资源模块。例如:
插件资源文件应如下所示,突出显示dashboard
(例如,反映品牌的企业级模块)作为一个模块,可以在特定页面/模板的应用程序中为required
。
//MyOrgResources.groovy
modules =
dashboard
resource url: 'js/dashboard/dashboard.js'
resource url: 'css/dashboard/dashboard.css'
常见的特定领域资源等等。
原因: 该插件不言自明地提到“任何与域或模块相关的企业级资源”都可以从此插件中引用。最后,只有当插件被记录并在团队之间适当共享时,这才是一个有用的想法,这样就没有人重新发明***了。
【讨论】:
+1。我的观点是,如果你想按功能将它们分开,拆分是好的,并且主插件与UI无关。 感谢@dmahapatro (+1) - 但是 (1) 我如何为任何使用此插件的 Grails 应用程序制作dashboard
一个 required
模块? (2)我想我不完全理解资源插件:如果插件中定义了 CSS/JS 模块,为什么我需要使用 app 中的资源插件而不是插入?再次感谢!
1.与应用程序dependOn
任何其他模块中的任何模块相同。您可以参考有关 dependsOn
的文档。 2. 两者都可以。 dahsboard
模块不仅可以在需要时在插件中使用,还可以在使用插件的应用程序中使用。关于资源插件的使用,可以通过going through the docs in detail深入了解。以上是关于Grails 插件中的自定义 CSS 和 JS的主要内容,如果未能解决你的问题,请参考以下文章