使用dart2js进行构建时,我已经使用了minify参数。

我查看了输出,发现import 'dart:html在输出文件大小方面引起了问题(2kb .dart文件变为182kb .js文件)。例如,它导入了SVG包,尽管在我的代码中我从未接触过任何<svg> DOM元素。

我知道编译器不知道我是否要使用svg DOM Elements。而且我知道var的使用是该行为的原因之一。

但是,如果我不使用任何var关键字,则编译器仍然没有足够的“功能”来剥离所有未使用的包和函数。

有什么指令可以禁止某些软件包的导入。我的意思是现在内置的程序包。我正在使用IntelliJ IDEA,它不允许我在Dart默认设置中进行任何更改。

UPD:尝试使用

import 'dart:html' show querySelector, Element

仅导入该方法和类,但文件大小仍为182kb。

我现在看到的唯一解决方案是为默认的'dart:html'软件包制作一些剥离版本。一个没有WebGL,SVG和其他功能的工具。

因为Dart编译器可能工作得很好,但是只有一些方法和类我不使用,但是代码使用了。就像..最初的包装方法检查某些元素是SVG还是类似的东西。

最佳答案

有一个工具可以分析dart2js构建的输出,尤其是对于引用和依赖项。刚刚经过测试,在我的案例中给出了更好的概述。

https://github.com/dart-lang/dump-info-visualizer

主办:
https://dart-lang.github.io/dump-info-visualizer/

使用选项--dump-info构建
https://webdev.dartlang.org/tools/dart2js#options

关于intellij-idea - Dart-dart2js和进一步的尺寸优化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44091160/

10-10 08:17