В GWT 2.0 CSSResource, как я могу отключить запутывание для всех моих классов CSS?

StackOverflow https://stackoverflow.com/questions/5972296

Вопрос

У меня есть CSSRESORCE, где я хочу иметь некоторые классы CSS «сопоставлены» к методам:

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

Но я хочу выключить запугивать GWT (при разработке, по меньшей мере, для лучшего отладки в Firebug и т. Д.).

Есть просто простой способ добиться этого?Я знаю, что могу использовать @external в моем файле CSS, но тогда я должен определить все мои классы CSS, такие как @External .c1, .c2, .c3 и т. Д. ...

что-то вроде @external. * решит мою проблему, но, кажется, не доступен хотя бы в GWT 2.0.x

Мое текущее решение - использовать:

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

Но это не отключает запутывание, просто делает его красивее :) Я знаю, что OBF необходим, чтобы избежать столкновений, но у меня нет этого в моем случае и действительно хотелось бы отключить запутывание

Это было полезно?

Решение

Согласно документации GWT, можно отключить оформление в целом.From Секция CSSResource "Рычаги и ручки" :

.

Свойство конфигурации CSSRESORCE.Style может быть установлен на довольно который отключит обфускивание имени класса, а также довольно печатать CSS Content.Объедините это с помощью ClientBundle.enableinlining Value false для создания выражения CSS, которое поддается стороне клиента редактирование.

В моей работе GWT проекта, я вижу, что это свойство на самом деле устанавливается в Ressional.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" />
.

Что для меня неясно, - это то, как переопределить это значение, так как он уже установлен.Вам удалось понять это?

Другие советы

Чтобы отключить запутывание для всех вас устаревших классов одновременно, вы можете использовать то, что называется, как сказано Вот

Короче, в устаревшем файле CSS, который вы обязательны с использованием Bundle CSSRESORCE, поместите эту декларацию: @external .*;

Все классы в файле, имеющем этот декларационный файл, не будут запутываться.

Вы можете использовать Директива @external для предотвращенияCSS Classname от запутанного.

В вашем случае ваш файл CSS может содержать

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

Чтобы не запутанные имена классов, вам просто нужно добавить следующую строку в файл GWT.xml:

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

При установке на устойчивые имена классов будут состоять из квалифицированного имени класса, за которым следует имя метода в ваших интерфейсах ресурсов (конечно, со всеми. Замена _)

Все возможные значения для CSSResource.Style (для GWT 2.7) являются:

    .
  • довольно
  • debug
  • Стабильный
  • Стабильный orlytype
  • STANGE-NOTYPE

    Чтобы проверить значения, доступные для вашей версии GWT, посмотрите на com.google.gwt.resources.rg.cssobfuscationStyle javadoc (или исходный код) для версии GWT, вы используете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top