Gwt 如何在多个CssResource css文件中使用相同的@def?

Gwt 如何在多个CssResource css文件中使用相同的@def?,gwt,cssresource,clientbundle,Gwt,Cssresource,Clientbundle,我想说的是,在一个单一的、集中的位置 @def mainColor = #f00; 然后,在我的所有其他css文件中,无需重新定义即可参考mainColor。然后,当我在一个地方更改主颜色时,我的整个应用程序都会更改颜色 到目前为止,我能想到的最好的方法是为每个CssResource声明包含两个@Source文件,并且始终包含全局def文件。还有其他方法吗?据我所知,这是您唯一的选择: style.css @def mainColor #f00; *.ui.xml <ui:style

我想说的是,在一个单一的、集中的位置

@def mainColor = #f00;
然后,在我的所有其他css文件中,无需重新定义即可参考
mainColor
。然后,当我在一个地方更改主颜色时,我的整个应用程序都会更改颜色


到目前为止,我能想到的最好的方法是为每个CssResource声明包含两个
@Source
文件,并且始终包含全局def文件。还有其他方法吗?

据我所知,这是您唯一的选择:

style.css

@def mainColor #f00;
*.ui.xml

<ui:style src="../../../styles/style.css">
    .widget{ color: mainColor; }
</ui:style>

噢。谢谢你的建议。不过这些都很粗糙;)@托马斯·布罗耶补充说,他也使用这种方法。在uibinders之外,他提到了多@Source技术:
@Source({“path/to/definitions.css”,“foo.css”)FooStyles-foo你能添加你自己的@Source示例作为另一个“答案”进行比较吗?我只是在下面Danny Kirchmeier的答案中添加了它作为一个注释。它本质上是相同的技术,具有不同的语法和上下文。
<ui:style>
  @eval mainColor com.myproject.client.Styles.INSTANCE.mainColor(); 
  .widget{ color: mainColor; }
</ui:style>