• 一个 dart app 是一个 library
  • library 是隐私单元

使用库

  • 内建库: dart:
  • 文件系统路径
  • 包管理器: package:
  1. import 'dart:html';
  2. import 'package:test/test.dart';

指定库前缀

  1. import 'package:lib1/lib1.dart';
  2. import 'package:lib2/lib2.dart' as lib2;
  3. // Uses Element from lib1.
  4. Element element1 = Element();
  5. // Uses Element from lib2.
  6. lib2.Element element2 = lib2.Element();

导入部分库

  1. // Import only foo.
  2. import 'package:lib1/lib1.dart' show foo;
  3. // Import all names EXCEPT foo.
  4. import 'package:lib2/lib2.dart' hide foo;

惰加载库

  • web app 用
  • deferred as
  1. import 'package:greetings/hello.dart' deferred as hello;
  2. // 手动加载
  3. Future greet() async {
  4. await hello.loadLibrary();
  5. hello.printGreeting();
  6. }

实现库