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

Nor*_*kli 4 dart flutter tree-shaking

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


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

Run Code Online (Sandbox Code Playgroud)

...但是 Flutter 会摇树。有显示关键字任何好处在颤振或者是完全毫无意义?

Rém*_*let 11

导入/导出指令与摇树无关。

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;
Run Code Online (Sandbox Code Playgroud)
  • “我只想要 Mobx 的“反应”:
import 'package:rxdart/rxdart.dart';
import 'package:mobx/mobx.dart' show reaction;
Run Code Online (Sandbox Code Playgroud)
  • “我将使用别名,因为我可以同时使用两者”
import 'package:rxdart/rxdart.dart' as rxdart;
import 'package:mobx/mobx.dart' as mobx;
Run Code Online (Sandbox Code Playgroud)