GWT:调试id与普通id

时间:2015-02-13 10:08:43

标签: gwt

设置调试ID而不是在元素上设置普通id有什么好处:

button.ensureDebugId("myDebugId");
button.getElement().setId("myId");

如果我花时间设置一些id,为什么不把它永久化呢?为什么调试id?

2 个答案:

答案 0 :(得分:3)

使用调试ID时,您要确保生产环境中使用的编译排列具有较小的文件大小,因为它没有任何调试信息。调试ID应仅用于开发。

这对最终用户很重要,因为您的应用会加载更快。

答案 1 :(得分:3)

使用调试ID的优点在于,它使项目的开发人员清楚地知道这些id 用于Selenium(或其他基于DOM的方法)测试。它清楚地表明它们不应该被用于生产应用程序。

理想情况下,您使用2个不同的GWT模块(一个用于生产,一个用于测试):

Production.gwt.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN"
        "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
<module>
    <inherits name='com.google.gwt.user.User'/>

    <entry-point class='com.mycompany.MyApp'/>
</module>

Testing.gwt.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN"
        "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
<module>
    <inherits name='com.mycompany.Produdction'/>

    <inherits name="com.google.gwt.debug.Debug"/>
</module>

这可以确保调试ID只会在测试阶段出现在DOM中,并且不会污染您的生产应用程序。