css - Grails 插件中的自定义 CSS 和 JS

标签 css grails grails-plugin grails-2.3 grails-resources-plugin

我正在构建一个 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/

相关文章:

html - 按钮图片显示不正确

grails - 从gsp访问模型变量

grails - 重写 Controller 中默认操作的 URL

grails - 无法将 Neo4j GORM 插件添加到 Grails 项目

javascript - SSE失败:使用事件推送插件在grails中注册事件监听器后出现问题

grails - 如何使用grails导出插件放置pdf的标题中心?

jquery - 使用关键帧在计时器上更改 CSS 图像

html - 如何使用 HTML 在表格的列中添加多行?

HTML/CSS 如何纠正重叠的两个列表元素?

grails - 如何在 Grails 中使用 memcached