dart2js编译器使js文件对于单个页面而言太大, 对于使用移动流量的智能手机,当每个页面获得单独的* .dart.js文件时,它是无用的。 如何减少多页Web应用程序的大小? 我认为每个dart js文件不可能有多个页面或?
我认为是这样的:webapplication.dart.js - index.dart(.js) - faq.dart(.js) - downloads.dart(.js)
但是dart文件是单独编译的,每个文件最多200 KB,使用不同的导入。
答案 0 :(得分:2)
您所描述的是一个网站,其中每个网页都是自己的飞镖应用程序。你注意到这并不理想。我的建议是使用angular.dart创建单页面应用程序。
在任何一种情况下,确保您的网络服务器在适当的时候正在gzipping内容(绝对是任何javascript文件)可以产生巨大的差异,以及拥有适当的缓存标头。
答案 1 :(得分:2)
Dart支持延迟加载,请参阅How can I execute two dart code in one HTML
正如@ w.brian所说,针对不同页面的不同Dart应用程序并未充分利用Dart Dart有很大的开销来模拟JavaScript没有提供的功能(例如类)。 可部署将所有依赖项打包在一起并创建单个js文件。开销被打包到每个js文件中。仅此开销约为200k拉链。您的自定义应用程序代码必须相当复杂才能达到此大小。由于此开销打包在不同的文件中(与自定义代码结合),因此它也无法使用缓存 这只是抚摸着Dart对抗谷物。 Dart应用程序越大,此开销就越少。对于许多小型应用程序,这恰恰相反。
否则有些事情需要注意:
从DartEditor构建时,默认模式是“debug”(尽管不是绝对确定)。从命令行构建时,默认为“release”。 'debug'模式产生更大的输出。
当你使用'dart:mirrors'库时,你必须要小心。这是为了确保它不会使JS输出大小膨胀而做出的某些考虑。
还有一些我刚才没想到的事情......