我可以将 GWT 2.7 编译减少到单个排列吗

Can I reduce GWT 2.7 Compilation to single permutation

步骤 1. 通过 Google 使用 GWT 2.7.0 的 Eclipse 插件创建一个新的 GWT 项目

步骤 2. 修改 .gwt.xml 以将链接器设置为 xsiframe

 <add-linker name="xsiframe" />

步骤3.编译工程 compilation-mappings.txt 显示 6 个条目 - 5 个有浏览器,一个没有

1737AD1FC03D9513CE7A9D806F3E21C3.cache.js
user.agent gecko1_8

263432CEAA7C118D6FF27B488528C7EF.cache.js
user.agent safari

3269EBD405702A848A8B082982A76805.cache.js
user.agent ie8

6ED13A4E7283CDD9B28BFDD052C8EC05.cache.js
user.agent ie9

EFB063823A3113BEB2C481F22CA51E1D.cache.js
user.agent ie10

Devmode:devmode.js

步骤 4. 修改 .gwt.xml 以设置单一浏览器 user.agent 设置为 gecko1_8

<set-property name="user.agent" value="gecko1_8,ie9,ie10,safari" />
<set-property-fallback name="user.agent" value="gecko1_8" />
<set-property name="user.agent" value="gecko1_8" />

<!-- allow Super Dev Mode -->
<add-linker name="xsiframe" />

步骤5.编译项目 compilation-mappings.txt 显示没有浏览器的两个条目

FE1687414F0A6033B32B0F59A213285B.cache.js

Devmode:devmode.js

此外,编译日志显示

Compiling module com.appbootup.explore.gwt.HelloWorld
   Compiling 1 permutation
      Compiling permutation 0...
   Compile of permutations succeeded
Linking into D:\workspace\GWork\HelloWorld\war\helloworld
   Link succeeded
   Compilation succeeded -- 6.434s

问题 1. 第二个排列 "devmode.js" 会花费我们构建性能时间吗?

问题 2. 有没有办法通过消除 "devmode.js" 将其进一步降低到 1 个排列。 ?

Question 1. Does the second permutation "devmode.js" cost us build performance time?

不,此文件是根据模板构建的,不需要任何费用。

Question 2. Is there a way I can bring this further down to 1 permutation by eliminating "devmode.js". ?

由于问题 1 的答案是 'no',我不确定这是否相关。复制单个文件需要多长时间?如果花费的时间超过几毫秒,我会感到非常惊讶。


为了加快编译速度,请使用超级开发模式 - 我敢打赌 6.4 秒会下降到不到一秒。它当然对生产环境没有好处,但它允许您简单地刷新浏览器,并且会根据您对节点的更改非常非常快地生成新的排列。

为了更快地进行生产编译,请使用草稿模式,并确保继承的模块不超过绝对必要的模块 - 未使用的代码越多,构建可能花费的时间就越长。