库和可见性

最后更新于:2022-04-02 02:15:54

[TOC] ## 库 ``` //官方库 import 'dart:html'; //第三方库,使用路径 import 'package:test/test.dart'; ``` ### 引入自定义库 ``` ├── class │ └── person.dart └── main.dart ``` ``` //person.dart class person { static echo(String name) { print('hello ${name}'); } } //main.dart import 'class/person.dart'; // 如果 main 在 bin/mian.dart 则使用 ../class/person.dart void main() { person.echo('cc'); // hello cc } ``` ### 指定库前缀 ``` import 'package:lib1/lib1.dart'; import 'package:lib2/lib2.dart' as lib2; // 使用 lib1 中的 Element。 Element element1 = Element(); // 使用 lib2 中的 Element。 lib2.Element element2 = lib2.Element(); ``` ### 导入库的一部分 ``` // Import only foo. import 'package:lib1/lib1.dart' show foo; // Import all names EXCEPT foo. import 'package:lib2/lib2.dart' hide foo; ``` ### 延迟加载库 使用场景 * 减少 APP 的启动时间。 * 执行 A/B 测试,例如 尝试各种算法的 不同实现。 * 加载很少使用的功能,例如可选的屏幕和对话框。 ``` import 'class/person.dart' deferred as person; echo()async{ await person.loadLibrary(); person.person.echo("cc"); } void main() { echo(); } ```
';