|
本帖最后由 hanguokai 于 2013-3-18 19:18 编辑
看到老外的这篇 I Shrunk my Dart-to-JS code by 11X and So Can You ,于是我也录制了一段 dart2js 的测试,结果为:
- 简单web app : 195KB, 6060 lines; 最小化 : 89KB, 2771行
- print('hello') : 2.7KB, 85行; 最小化 : 1.5K, 49行
- window.alert('hello') : 34KB, 1187行;最小化: 17KB, 535行
总的来说,当前生成的 JavaScript 文件大小已经小了很多。可能一些人还有印象,Dart刚发布时,一个hello生成了上万行代码。
Dart 核心库必然要生成一些基础代码,所以不可能小到只有几行。但是随着代码量的增加,生成的代码量并不会增加很多。
而且Dart自带的库本身也提供了不少其它JS库所提供的功能,因此原始代码 100多K 并不算大。
注意:dart2js 默认没有做最小化,通过 --minify 参数可以最小化输出,大概是原来的一半。如果配合 Web 服务器的 gzip 功能
还可以再压缩 1/3 以上,所以最终可能只有几十K(原始大小的1/10)。
小结生产环境的部署的最佳实践:
- 使用 dart2js 的 --minify 输出。
- 开启 Web 服务器对 js 文件的 gzip 压缩。
|
|