Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails插件中的自定义CSS和JS_Css_Grails_Grails Plugin_Grails 2.3_Grails Resources Plugin - Fatal编程技术网

Grails插件中的自定义CSS和JS

Grails插件中的自定义CSS和JS,css,grails,grails-plugin,grails-2.3,grails-resources-plugin,Css,Grails,Grails Plugin,Grails 2.3,Grails Resources Plugin,我正在构建一个Grails插件(Grails myorg.zip),它将包含可重用的代码/工件,我们组织中的每个Grails应用程序都应该使用这些代码/工件。这包括定制CSS/JS文件,帮助我们的应用程序获得一致的外观 我想知道这里最好的做法是什么: 创建一个grails myorg themes.zip插件,它只包含可重用的CSS和JS文件,然后将其作为主grails myorg.zip插件的运行时插件/依赖项(使用BuildConfig.groovy);或 将CSS/JS文件放在主grai

我正在构建一个Grails插件(
Grails myorg.zip
),它将包含可重用的代码/工件,我们组织中的每个Grails应用程序都应该使用这些代码/工件。这包括定制CSS/JS文件,帮助我们的应用程序获得一致的外观

我想知道这里最好的做法是什么:

  • 创建一个
    grails myorg themes.zip
    插件,它只包含可重用的CSS和JS文件,然后将其作为主
    grails myorg.zip
    插件的运行时插件/依赖项(使用
    BuildConfig.groovy
    );或
  • 将CSS/JS文件放在主
    grails myorg.zip
    插件中,然后使用grails资源插件为所有下游依赖项配置文件
最终,唯一的要求是:

只要开发人员将主
grails myorg.zip
插件作为其应用程序插件的一部分,那么定制CSS/JS文件将在运行时(通过URL)提供给应用程序的HTML文件。
这样,他们就可以选择在应用程序中包含CSS样式和其他JS内容(在这些通用文件中定义)


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

如果
grails-myorg
的唯一目的仅仅是作为grails应用程序的资源提供者,我认为没有必要使用
grails-myorg主题插件

第二种选择似乎是已经制定的方案的良好开端。如果资源发生变化和/或更新,升级插件版本就足够了

什么:

  • 您不需要在插件中使用资源插件,应用程序应该使用资源插件。如果在
    grails myorg
    插件中使用了所有资源插件,那么应该在构建配置中使用
    export=false
    将其排除在包中
  • 创建可在应用程序中轻松使用的特定于业务的资源模块。例如:
插件资源文件应该有如下内容,突出显示
仪表板
(例如,一个反映品牌的企业级模块),作为一个模块,可以在特定页面/模板的应用程序中使用
必需的

//MyOrgResources.groovy
modules = {
    dashboard {
        resource url: 'js/dashboard/dashboard.js'
        resource url: 'css/dashboard/dashboard.css'
    }
}
对于常见的特定于领域的资源,等等

原因:

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

这种功能
grails myorg.zip
将有?+1。我的意见是,只有当你想按功能将它们分开时,拆分才是好的,主插件与UI无关。谢谢@dmahapatro(+1)-但是(1)我如何为任何使用此插件的Grails应用程序制作
仪表板
一个
必需的
模块?(2)我想我不完全理解资源插件:如果插件中定义了CSS/JS模块,为什么我需要使用应用程序中的资源插件而不是插件?再次感谢!1.同样,应用程序
中的任何模块都依赖于任何其他模块。您可以参考关于
dependsOn
的文档。2.你两者都可以
dahsboard
模块不仅可以在插件中使用(如果需要),还可以在使用插件的应用程序中使用。关于资源插件的使用,您可以通过以下方式获得深入的想法。