Flutter Dart 库

52 阅读1分钟

系统库

www.dart.cn/guides/libr…

第三方库

来源:

pub.dev

pub.flutter-os.cn/packages

pub.dartlang.org/flutter

使用

  • 1、在项目目录下创建 pubspec.yaml

  • 2、在 pubspec.yaml 中声明第三方库(依赖)

  • 3、命令行中进入 pubspec.yaml 所在目录, 执行 pub get 进行安装

  • 4、项目中引入已安装的第三方库 (import 'package:xxx/xxx.dart;)

image.png

.packages

和 pubspec.yaml 同级目录的文件, 这里记录了第三方库的在本地文件的路径

在 .dart_tool 目录下也有一个 package_config.json 的文件记录第三方库的情况;

pubspec.yaml 格式

image.png

红框内区分开发环境和正式环境下的引用

自定义库

自己定义的 dart 文件就是自定义的库

库导入 import

image.png

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 主库

image.png