1

我正在构建一个 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 内容(在这些公共文件中定义)。

我应该使用哪种策略,为什么以及配置是什么样的?

4

1 回答 1

2

如果唯一的目的只是成为 grails 应用程序的资源提供者,我认为不需要grails-myorg-themes插件。grails-myorg

第二个选项看起来像是已经布置好的场景的一个良好开端。如果资源发生变化和/或更新,则对插件进行版本控制就足够了。

什么:

  • 您不需要插件中的资源插件,应用程序应该使用资源插件。如果插件中使用了所有资源插件grails-myorg,则应通过export = false在构建配置中使用将其排除在包中。
  • 创建可以在应用程序中轻松使用的业务特定资源模块。例如:

插件资源文件应该如下所示,突出显示dashboard(例如,反映品牌的企业级模块)作为可以required在特定页面/模板中的应用程序中的模块。

//MyOrgResources.groovy
modules = {
    dashboard {
        resource url: 'js/dashboard/dashboard.js'
        resource url: 'css/dashboard/dashboard.css'
    }
}

诸如此类的公共领域特定资源。

原因:
该插件不言自明地提到“任何与域或模块相关的企业级资源”都可以从此插件中引用。最后,只有当插件被记录并在团队之间适当共享时,这将是一个有用的想法,这样没有人重新发明轮子。

于 2014-04-08T02:27:42.490 回答