在 Dart 中,我们可以使用show关键字选择性地导入部分文件或库...
import 'package:http/http.dart' show get;
...但是 Flutter 会摇树。show关键字在 Flutter 中有什么好处还是完全没有意义?
在 Dart 中,我们可以使用show关键字选择性地导入部分文件或库...
import 'package:http/http.dart' show get;
...但是 Flutter 会摇树。show关键字在 Flutter 中有什么好处还是完全没有意义?
import/exports 指令与 tree-shaking 无关。
show
//而是用于不污染自动完成,保持某些类“私有”,或解决冲突hide
。as
假设你同时使用 RxDart 和 Mobx:这两个包都定义了一个Observable
类。
如果您尝试在同一个文件中同时导入两者package:rxdart/rxdart.dart;
,package:mobx/mobx.dart
那么您将遇到冲突。
因此,您需要使用show
//告诉编译器解决方案是什么hide
。as
它可能是:
import 'package:rxdart/rxdart.dart';
import 'package:mobx/mobx.dart' hide Observable;
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;