关于 gwt 2.7:我可以将 GWT 2.7 编译减少为单一排列吗

Can I reduce GWT 2.7 Compilation to single permutation

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

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

1
 

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

1
2
3
4
5
<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 -->

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

1
2
3
FE1687414F0A6033B32B0F59A213285B.cache.js

Devmode:devmode.js

另外,编译日志显示

1
2
3
4
5
6
7
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 的答案是"否",我不确定这是否相关。复制一个文件需要多长时间?如果花费的时间超过几毫秒,我会感到非常惊讶。

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

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