在生产中使用 <collapse-all-properties />?
Using <collapse-all-properties /> in production?
根据我的理解,gwt.xml 中的 collapse-all-properties
编译器为所有浏览器生成一个排列。生成的文件大 15% 到 20%。
除了增加的文件大小,还有其他原因导致我不应该使用 collapse-all-properties
进行生产吗?
例如,它是否剥离了依赖于浏览器的逻辑和 css,从而导致应用程序可能工作 and/or 看起来与使用默认排列编译时不同?
在我的应用程序中,我注意到 cache.js 的大小增加了大约 100KB,并且所有 deferredJs 文件的大小增加了 50KB collapse-all-properties
。
但是当与 gzip、代码拆分和缓存结合使用时,与显着的快速编译时间和一般易用性相比,较小文件大小的好处似乎微不足道。
让我想知道我是否可以将它用于生产。
除了您已经陈述的原因之外,您没有理由不能在生产环境中使用它,并且如果您希望您的大多数用户通常会使用已填充的缓存(应用程序不会经常更改,并且大多数用户经常打开该应用程序),那么您认为尺寸点意义不大是正确的。将大型 JS 应用程序加载到内存并构建所有必需的方法仍然存在成本,但我怀疑与从服务器加载额外的 100kb 相比,它没有意义。
我不认为 collapse-all-properties 本身会禁用您的拆分点(deferredJs 文件),或者我可能误解了您说拆分点增长了大约 50kb。
如果您希望您的用户运行使用应用程序的最低功率机器上的性能似乎可以接受,我不会担心 - 无需针对不真正适用的情况进行优化你。
我会对其他区域设置(尤其是当新图像用于不同区域设置时)和基于 'form factor' 的属性(可能想以构建为代价保持 mobile/tablets 快速次)。我还会研究禁用未使用的浏览器——虽然大多数现代浏览器只集中在少数必需的实现上,但旧的浏览器仍然需要额外的代码和其他方法来处理 clientbundle 等功能(不能将图像内联到数据 url).如果您能够从您的应用程序中删除这些浏览器,您可能会恢复您所看到的大量增加。
在 GWT 总体路线图中已经讨论过完全删除排列,因为它们在很大程度上是每个浏览器的行为与其他浏览器截然不同的时代的遗留物,但虽然我们仍然有 IE8/9 支持,但它将是困难的。未来的仅限现代浏览器的 GWT 可能会完全抛弃排列,并鼓励以不同的方式解决区域设置等问题。
根据我的理解,gwt.xml 中的 collapse-all-properties
编译器为所有浏览器生成一个排列。生成的文件大 15% 到 20%。
除了增加的文件大小,还有其他原因导致我不应该使用 collapse-all-properties
进行生产吗?
例如,它是否剥离了依赖于浏览器的逻辑和 css,从而导致应用程序可能工作 and/or 看起来与使用默认排列编译时不同?
在我的应用程序中,我注意到 cache.js 的大小增加了大约 100KB,并且所有 deferredJs 文件的大小增加了 50KB collapse-all-properties
。
但是当与 gzip、代码拆分和缓存结合使用时,与显着的快速编译时间和一般易用性相比,较小文件大小的好处似乎微不足道。
让我想知道我是否可以将它用于生产。
除了您已经陈述的原因之外,您没有理由不能在生产环境中使用它,并且如果您希望您的大多数用户通常会使用已填充的缓存(应用程序不会经常更改,并且大多数用户经常打开该应用程序),那么您认为尺寸点意义不大是正确的。将大型 JS 应用程序加载到内存并构建所有必需的方法仍然存在成本,但我怀疑与从服务器加载额外的 100kb 相比,它没有意义。
我不认为 collapse-all-properties 本身会禁用您的拆分点(deferredJs 文件),或者我可能误解了您说拆分点增长了大约 50kb。
如果您希望您的用户运行使用应用程序的最低功率机器上的性能似乎可以接受,我不会担心 - 无需针对不真正适用的情况进行优化你。
我会对其他区域设置(尤其是当新图像用于不同区域设置时)和基于 'form factor' 的属性(可能想以构建为代价保持 mobile/tablets 快速次)。我还会研究禁用未使用的浏览器——虽然大多数现代浏览器只集中在少数必需的实现上,但旧的浏览器仍然需要额外的代码和其他方法来处理 clientbundle 等功能(不能将图像内联到数据 url).如果您能够从您的应用程序中删除这些浏览器,您可能会恢复您所看到的大量增加。
在 GWT 总体路线图中已经讨论过完全删除排列,因为它们在很大程度上是每个浏览器的行为与其他浏览器截然不同的时代的遗留物,但虽然我们仍然有 IE8/9 支持,但它将是困难的。未来的仅限现代浏览器的 GWT 可能会完全抛弃排列,并鼓励以不同的方式解决区域设置等问题。