自定义CSS和JS的Grails插件(Custom CSS and JS in Grails plu

2019-10-19 19:04发布

我建立一个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的东西-这些共同文件内定义的-在他们的应用程序。

我应该使用何种策略,为什么并将配置是什么样子?

Answer 1:

我没有看到有一个要求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'
    }
}

因此,对等的公共域特定资源。

为什么:
该插件是在提的是,“任何企业级资源,相关域或模块”可以从这个插件被称为自我解释。 最终,这将是一个非常有用的想法只有在插件文件和跨团队共享适当的,所以没有人重新发明了车轮。



文章来源: Custom CSS and JS in Grails plugins