我建立一个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文件将在运行时应用程序的HTML文件中可用(通过URL)。 这样,他们可以选择包括CSS样式和其它JS的东西-这些共同文件内定义的-在他们的应用程序。
我应该使用何种策略,为什么并将配置是什么样子?
我没有看到有一个要求grails-myorg-themes
插件如果唯一目的grails-myorg
仅仅是对资源的提供者一个Grails应用程序。
第二个选项看起来像一个良好的开端,已经制定了方案。 如果资源改变和/或更新版本的插件了就足够了。
什么:
- 你不会需要的资源插件的插件,应用程序应该使用资源插件。 如果所有的资源插件中使用
grails-myorg
插件,那么就应该使用排除在包装export = false
在建的配置。 - 创建可在应用程序中轻松使用业务特定资源的模块。 例如:
插件资源文件应该有类似下面,突出dashboard
(比方说,一个企业范围的模块,它体现了品牌),其可以在一个模块required
在应用程序中的特定页面/模板。
//MyOrgResources.groovy
modules = {
dashboard {
resource url: 'js/dashboard/dashboard.js'
resource url: 'css/dashboard/dashboard.css'
}
}
因此,对等的公共域特定资源。
为什么:
该插件是在提的是,“任何企业级资源,相关域或模块”可以从这个插件被称为自我解释。 最终,这将是一个非常有用的想法只有在插件文件和跨团队共享适当的,所以没有人重新发明了车轮。