Flutter中的摇树与选择性导入?

时间:2019-08-23 18:14:53

标签: flutter dart tree-shaking

在Dart中,我们可以使用 show 关键字选择性地导入文件或库的一部分...


    import 'package:http/http.dart' show get;

...但是Flutter摇了摇树。 在Flutter中, show 关键字有什么好处吗?还是完全没有意义?

1 个答案:

答案 0 :(得分:4)

import / exports指令与摇树无关。

show / hide / as用来不污染自动完成功能,保持某些类为“私有”或解决冲突。

假设您同时使用RxDart和Mobx:这两个程序包都定义了一个Observable类。

如果您尝试将package:rxdart/rxdart.dart;package:mobx/mobx.dart都导入到同一文件中,则会产生冲突。

因此,您需要使用show / hide / as来告诉编译器解决方案。

可能是:

  • “我不在乎Mobx的Observable”:
import 'package:rxdart/rxdart.dart';
import 'package:mobx/mobx.dart' hide Observable;
  • “我只想要Mobx的“反应”:
import 'package:rxdart/rxdart.dart';
import 'package:mobx/mobx.dart' show reaction;
  • “我将使用别名,因为我可能会同时使用两者”
import 'package:rxdart/rxdart.dart' as rxdart;
import 'package:mobx/mobx.dart' as mobx;