【问题标题】:Dart to js, files too large for mobile traffic in use with multi page web appsDart 到 js,文件对于多页 Web 应用程序使用的移动流量来说太大了
【发布时间】:2014-08-22 12:50:06
【问题描述】:

dart2js 编译器使 js 文件对于单页来说太大, 对于使用移动流量的智能手机来说,当每个页面都有一个单独的 *.dart.js 文件时,它是没有用的。 如何减小多页 Web 应用程序的大小? 我认为每个 dart js 文件不能超过一页,或者?

我是这么想的:

webapplication.dart.js - index.dart(.js) -faq.dart(.js) - 下载.dart(.js)

但 dart 文件是单独编译的,每个文件最大 200 KB,使用不同的导入。

【问题讨论】:

    标签: dart dart-html


    【解决方案1】:

    您所描述的是一个网站,其中每个页面都是其自己的 dart 应用程序。正如您所注意到的,这并不理想。我的建议是使用angular.dart 创建单页应用程序。

    在任何一种情况下,确保您的网络服务器在适当的地方压缩内容(绝对是任何 javascript 文件)都会产生巨大的影响,并具有适当的缓存标头。

    【讨论】:

      【解决方案2】:

      Dart 支持延迟加载见How can I execute two dart code in one HTML

      正如@w.brian 所说,不同页面的不同 Dart 应用程序并不能很好地利用 Dart。
      Dart 有很大的开销来模拟 JavaScript 不提供的功能(例如类)。 deployable 将所有依赖项打包在一起并创建一个 js 文件。开销被打包到每个 js 文件中。仅此开销就压缩了大约 200k。您的自定义应用程序代码必须相当复杂才能达到此大小。因为此开销被打包在不同的文件中(与自定义代码结合),所以它也无法使用缓存。
      这只是在抚摸飞镖。 Dart 应用程序越大,开销就越小。对于许多小型应用程序,情况正好相反。

      否则有一些注意事项:

      当您从 DartEditor 构建时,默认模式是“调试”(虽然不确定)。当您从命令行构建时,默认值为“发布”。 “调试”模式产生更大的输出。

      当你使用 'dart:mirrors' 库时,你必须小心。 er 需要考虑一些因素,以确保它不会使 JS 输出大小膨胀。

      还有一些我刚才可能没有想到的事情......

      【讨论】:

        猜你喜欢
        • 2021-12-15
        • 2012-07-22
        • 2014-08-06
        • 2021-04-23
        • 2013-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-01
        相关资源
        最近更新 更多