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 秒会下降到不到一秒。它当然不适合用于生产环境,但它允许您简单地刷新浏览器,并且会根据您对节点的更改非常非常快速地生成新的排列。
为了更快的生产编译,请使用草稿模式,并确保您继承的模块不会超过绝对必要 - 您拥有的未使用代码越多,构建可能需要的时间就越长。