有没有人能够将LESS的精彩短缺语法与GWT UiBinder的令人敬畏的模块,重新因子友好和类型安全的CSS集成?
<ui:style with="com.lesscss.gwt">
.selector{
/* Can I haz LESS in here? */
}
</ui:style>
Run Code Online (Sandbox Code Playgroud)
当然,你可以使用LESS与GWT - 你只需要使用非编译的CSS.我希望我的CSS通过LESS编译器,然后是GWT编译器.
没有直接的库,没有.
LESS甚至没有java编译器,所以我真的不认为它会发生.
假设您可以编写一个预编译例程,该例程将遍历您的ui.xml文件,编译ui:style节点的内容并将编译后的版本放回原处.然后,您将遇到IDE抱怨不正确的CSS代码的连续问题.
如前所述,没有库可以直接执行此操作。但现在有了;)!
我最近编写并发布了一个库(HexaCss for GWT),它允许将 GWT 应用程序绑定到外部 CSS 文件,同时保持类型安全和优化,例如修剪和 CSS 名称混淆。
您可以像传统的 CssResource 一样使用它(因此类型安全),但它不是绑定到 GWT 项目内的 CSS 文件,而是绑定到您想要的任何外部 CSS 文件(您甚至可以将多个 CSS 文件绑定到同一个应用程序,这样您就可以您的 GWT 应用程序的主题)。
因此,在您的情况下,外部 CSS 文件将使用 HexaCss 生成。这就是我在许多项目中所做的。
你甚至可以使用Sass、GSS等。您还可以使用已编写的 Bootstrap 和 Skeleton 绑定。
与您的问题类似的示例是这个,其中 CSS 是用 Less 生成的,并在 GWT 中与 HexaCss 一起使用,然后可以直接从 UiBinder 或 Java 中使用。
示例链接: http: //lteconsulting.fr/hexacss/demo/sample3/index.html - 这是一个非常丑陋的演示,仅显示了想法。您可以使用顶部的列表框在主题之间切换。
希望这可以帮助 !