我正在构建一个 Grails 插件 (grails-myorg.zip
),它将包含我们组织中每个 Grails 应用程序都应该使用的可重用代码/工件。这包括自定义 CSS/JS 文件,有助于为我们的应用提供一致的外观。
我想知道这里最好的行动方案是什么:
- 创建一个
grails-myorg-themes.zip
插件,其中仅包含可重用的 CSS 和 JS 文件,然后将其设为运行时插件/依赖项(使用BuildConfig.groovy
) 主要的grails-myorg.zip
插件;或 - 将 CSS/JS 文件放在主
grails-myorg.zip
插件中,然后使用 Grails 资源插件为所有下游依赖项配置文件。
最终唯一的要求是:
只要开发人员将主要的 grails-myorg.zip
插件作为其应用程序插件的一部分,那么自定义 CSS/JS 文件将在运行时(通过 URL)提供给应用程序的 HTML 文件。这样,他们可以选择在他们的应用程序中包含 CSS 样式和其他 JS 内容(在这些通用文件中定义)。
我应该使用哪种策略,为什么以及配置应该是什么样的?
最佳答案
如果 grails-myorg
的唯一目的只是成为 grails 资源的提供者,我认为没有必要使用 grails-myorg-themes
插件应用程序。
第二个选项看起来是已布置方案的良好开端。如果资源发生变化和/或更新,则对插件进行版本控制就足够了。
什么:
- 您不需要插件中的资源插件,应用程序应该使用资源插件。如果在
grails-myorg
插件中使用了所有资源插件,那么应该在构建配置中使用export = false
将其排除在包中。 - 创建可在应用中轻松使用的业务特定资源模块。例如:
插件资源文件应该像下面这样,突出显示 dashboard
(比如,一个反射(reflect)品牌的企业范围的模块)作为一个可以在应用程序中需要
的模块特定页面/模板。
//MyOrgResources.groovy
modules = {
dashboard {
resource url: 'js/dashboard/dashboard.js'
resource url: 'css/dashboard/dashboard.css'
}
}
对于公共(public)域特定资源,依此类推。
原因:
该插件不言自明地提到“任何与域或模块相关的企业级资源”都可以从此插件中引用。最后,只有当插件被记录并在团队之间适当共享时,这才是一个有用的想法,这样就没有人重新发明轮子了。
关于css - Grails 插件中的自定义 CSS 和 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22926080/