在GWT 2.0 CSSResource中,我如何为所有CSS类关闭混淆?
-
12-11-2019 - |
题
我有一个cssresource,我希望将一些css类“映射”为方法:
@ClassName("top-table")
String topTable();
.
但我想关闭捣碎的gwt(至少在开发的时候,在Firebug等方面更好地调试)。
是否有一种简单的方法来实现这一目标?我知道我可以在我的CSS文件中使用@External,但我必须定义@ External .c1,.c2,.c3等的所有CSS类...
像@external这样的东西。*会解决我的问题,但似乎似乎至少在gwt 2.0.x 中使用
我的当前解决方案是使用:
<set-configuration-property name="CssResource.style" value="pretty"/>
.
但这并没有关闭混淆,只是让它更漂亮:)我知道需要obf来避免碰撞,但我没有在我的情况下,真的很想关闭混淆
解决方案
根据GWT文档,可以一般禁用异化。来自 cssresource部分“杠杆和旋钮”:
配置属性cssresource.style可以设置为漂亮 它将禁用类名混淆以及漂亮打印 CSS内容。将此与ClientBundle.enableInlining值相结合 生成对客户端的CSS表达式进行假 编辑。
在我的工作GWT项目中,我可以看到此属性实际上设置在Resources.gwt.xml中(包含在gwt-user.jar中):
.<!-- This can be used to make CssResource produce human-readable CSS --> <define-configuration-property name="CssResource.style" is-multi-valued="false" /> <set-configuration-property name="CssResource.style" value="obf" />
我不清楚的是如何覆盖这个值,因为它已经设置了。你有没有想到这一点?
其他提示
简而言之,在使用cssresource包绑定的传统css文件中,将此声明:@external .*;
中的绑定
具有此声明文件的文件中的所有类都不会被滥用。
您可以使用 @external
指令css className被滥用。
在您的情况下,您的CSS文件可能包含
@external top-table;
.top-table {
some: rule;
}
. 尚未使用混淆的类名,您只需将以下行添加到gwt.xml文件:
<set-configuration-property name="CssResource.style" value="stable" />
.
当设置为稳定的类名时,将包含限定类名称,后跟资源接口中的方法名称(当然是全部。替换为_)
cssresource.style(for gwt 2.7)的所有可能值都是:
- 漂亮
- 调试
- 稳定
- 稳定 - 短缺
- 稳定录音
要验证您使用的gwt版本的gwt版本的值