【问题标题】:In GWT 2.0 CssResource, how I can turn off obfuscation for all my css classes?在 GWT 2.0 CssResource 中,如何关闭所有 css 类的混淆?
【发布时间】:2011-05-12 01:08:39
【问题描述】:

我有一个 CssResource,我希望将一些 css 类“映射”到方法:

@ClassName("top-table")
String topTable();

但我想关闭 GWT 所做的混淆(至少在开发时,以便在 firebug 中进行更好的调试等)。

有没有简单的方法来实现这一点?我知道我可以在我的 css 文件中使用@external,但是我必须定义我所有的 css 类,如 @external .c1、.c2、.c3 等......

@external .* 之类的东西可以解决我的问题,但至少在 gwt 2.0.x 中似乎不可用

我目前的解决方案是使用:

<set-configuration-property name="CssResource.style" value="pretty"/>

但这并没有关闭混淆,只是让它更漂亮:) 我知道需要 obf 来避免冲突,但在我的情况下我没有,我真的很想关闭混淆

【问题讨论】:

  • 你把那行 &lt;set-configuraion-property&gt; 放在哪里?
  • 这应该重新打开,因为链接的问答是在我最初的问题之后创建的,并且我的问题包含更多更好的答案......将旧问题作为重复关闭是没有意义的......

标签: gwt gwt2 cssresource clientbundle


【解决方案1】:

要同时禁用所有遗留类的混淆,您可以利用here 所说的内容

简而言之,在您使用 CssResource 捆绑包绑定的旧 css 文件中,放置以下声明:@external .*;

文件中所有有这个声明文件的类都不会被混淆。

【讨论】:

    【解决方案2】:

    根据 GWT 文档,通常可以禁用 ofbuscation。来自CssResource section "levers and knobs"

    配置属性 CssResource.style 可以设置为 pretty 这将禁用类名混淆以及漂亮打印 CSS 内容。将此与 ClientBundle.enableInlining 值结合起来 false 以生成适用于客户端的 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" />
    

    我不清楚如何覆盖这个值,因为它已经设置好了。你想明白了吗?

    【讨论】:

      【解决方案3】:

      您可以使用@external directive 来防止css 类名被混淆。

      在您的情况下,您的 css 文件可能包含

      @external top-table;
      .top-table {
        some: rule;
      }
      

      【讨论】:

      • "有没有简单的方法来实现这一点?我知道我可以在我的css文件中使用@external,但是我必须定义我所有的css类,比如@external .c1、.c2、.c3等……”对所有班级都这样做太耗时了:(
      【解决方案4】:

      要不混淆类名,您只需在 gwt.xml 文件中添加以下行:

        <set-configuration-property name="CssResource.style" value="stable" />
      

      当设置为稳定的类名时,将由合格的类名和资源接口中的方法名组成(当然所有的 . 都替换为 _)

      CssResource.style(对于 gwt 2.7)的所有可能值是:

      • 漂亮
      • 调试
      • 稳定
      • 稳定短型
      • 稳定型

      要验证可用于您的 gwt 版本的值,请查看您正在使用的 gwt 版本的 com.google.gwt.resources.rg.CssObfuscationStyle javadoc(或源代码)。

      【讨论】:

        猜你喜欢
        • 2013-02-19
        • 1970-01-01
        • 2011-11-08
        • 1970-01-01
        • 1970-01-01
        • 2013-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多