ライブラリと可視性
importとlibrary機構を使ってモジュールと共有できるコードを作成します.
ライブラリはAPIを提供することができますが、_最初に定義した変数や方法はライブラリ内でのみ使用できます.
どのDartのAppも同じライブラリで、たとえそれがLibraryの仕組みを使っていないとしても.ライブラリの声明 Dart 2のライブラリはLibraryでライブラリの名前を宣言してもいいです.使わなくてもいいです.ライブラリの導入 importキーを使ってライブラリに導入します.導入ライブラリには次の3つの方法があります.
1.同ライブラリファイルを導入し、ライブラリを直接使用する経路:import「Path/name.dart」.
2.Dart言語内部のライブラリを導入するには、経路前にdart:imprrt"dart:"を追加する必要があります.
3.サードパーティライブラリを導入するには、パスの前にpackage:import「Path/name.dart」を追加する必要があります.
導入されたライブラリはasで名前を変更し、異なるライブラリ変数名の衝突を防ぐことができます.別名を使用すると、導入したライブラリのオブジェクトを呼び出すには別名を持つ必要があります.
ショーとhideのキーワードを使用して、単独でライブラリの中のあるAPIを導入または削除することができます.ライブラリの分割 大きなライブラリファイルをいくつかの比較的小さいファイルに分割してもいいです.これらのファイルはパーティーを通じて関連付けられます.各partに関連するファイルの間で、すべての名前空間を共有しながら、すべてのオブジェクトを共有します.
part分割を使用する場合、ライブラリはlibrary声明を使用しなければならない.
PS:partの導入書類はurlを使ってもいいですが、勧められません.パーティーhttp://xxx/xx.dart";遅延負荷 使用する
なぜ遅延ローディングを使うのですか?
1.APPの起動時間を減らす.
2.遅延負荷が少ない機能
どのようにライブラリを作成するかは、この章では議論されていません.公式文書を参照することができます.
ライブラリはAPIを提供することができますが、_最初に定義した変数や方法はライブラリ内でのみ使用できます.
どのDartのAppも同じライブラリで、たとえそれがLibraryの仕組みを使っていないとしても.
library hello;
1.同ライブラリファイルを導入し、ライブラリを直接使用する経路:import「Path/name.dart」.
2.Dart言語内部のライブラリを導入するには、経路前にdart:imprrt"dart:"を追加する必要があります.
3.サードパーティライブラリを導入するには、パスの前にpackage:import「Path/name.dart」を追加する必要があります.
導入されたライブラリはasで名前を変更し、異なるライブラリ変数名の衝突を防ぐことができます.別名を使用すると、導入したライブラリのオブジェクトを呼び出すには別名を持つ必要があります.
ショーとhideのキーワードを使用して、単独でライブラリの中のあるAPIを導入または削除することができます.
import "hello.dart"; // hello.dart
import "http://xxx/xx.dart"; // url,
import "dart:html"; // Dart2 html
import "package:lib1/lib1.dart"; // lib1 lib1.dart
import "package:lib2/lib2.dart" as lib2; // lib2 lib2.dart, lib2
import "package:lib3.dart" show Foo; // lib3.dart Foo
import "package:lib4.dart" hide Foo; // Foo , lib4.dart
// Element lib1
Element element1 = Element();
// Element lib2
lib2.Element element2 = lib2.Element();
part分割を使用する場合、ライブラリはlibrary声明を使用しなければならない.
PS:partの導入書類はurlを使ってもいいですが、勧められません.パーティーhttp://xxx/xx.dart";
// test.dart
library testall;
import "dart:html";
part("test1.dart"); // test1.dart
part("test2.dart");
// test1.dart
part of testall; // testall , dart:html,
// test2.dart
part of testall; // testall
deferred as
キーを押すと、ライブラリの遅延読み込みが可能です.loadLibraryを使ってロードして、何度も呼び出すことができますが、一回だけ実行して、Futureオブジェクトに戻ります.なぜ遅延ローディングを使うのですか?
1.APPの起動時間を減らす.
2.遅延負荷が少ない機能
import 'package:greetings/hello.dart' deferred as hello; // ,
Future greet() async {
await hello.loadLibrary();
hello.printGreeting();
}
どのようにライブラリを作成するかは、この章では議論されていません.公式文書を参照することができます.