系统库
第三方库
来源:
使用
-
1、在项目目录下创建 pubspec.yaml
-
2、在 pubspec.yaml 中声明第三方库(依赖)
-
3、命令行中进入 pubspec.yaml 所在目录, 执行 pub get 进行安装
-
4、项目中引入已安装的第三方库 (import 'package:xxx/xxx.dart;)
.packages
和 pubspec.yaml 同级目录的文件, 这里记录了第三方库的在本地文件的路径
在 .dart_tool 目录下也有一个 package_config.json 的文件记录第三方库的情况;
pubspec.yaml 格式
红框内区分开发环境和正式环境下的引用
自定义库
自己定义的 dart 文件就是自定义的库
库导入 import
show 和 hide
``dart void f1(){ print("f1"); }
void f2(){ print("f2"); }
void f3(){ print("f3"); }
```dart
import 'lib/common.dart' show f2;
import 'lib/common.dart' hide f3;
void main(List<String> args) {
f2();
f1();
}
库冲突使用 as 定义别名
lib/common1.dart
void f1(){
print("c1 f1");
}
void f2(){
print("c1 f2");
}
void f3(){
print("c1 f3");
}
lib/common2.dart
void f1(){
print("c2 f1");
}
void f2(){
print("c2 f2");
}
void f3(){
print("c2 f3");
}
import 'lib/common1.dart' as c1 show f2;
import 'lib/common2.dart' as c2 show f2;
void main(List<String> args) {
c1.f2();
c2.f2();
}
延迟加载 需要調用loadLibrary()
使用 async 和 await
import 'lib/common.dart' deferred as co;
void main(List<String> args) {
print("before");
greet();
print("after");
}
Future greet() async {
await co.loadLibrary();
co.f1();
}
part 和 part of
part of 子库
part 主库