Классы для экспорта
Часто случается, когда при импорте нескольких файлов из одной папки увеличивается количество строк:
import “class_a.dart”;
import “class_b.dart”;
import “class_c.dart”;
import “class_d.dart”;
Вместо этого мы можем создать в этой же папке специальный файл для экспорта. Например,
my_imports.dart. После чего внесем наши файлы с ключевым словом export в начале:export “class_a.dart”;
export “class_b.dart”;
export “class_c.dart”;
export “class_d.dart”;
Теперь подключение будет занимать всего одну строку:
import “my_imports.dart”;
Еще одна возможность, которая появляется — использовать любой класс из тех, что мы экспортировали, без необходимости импортировать их еще раз.
Ключевые слова
as, hide и showНаверное, вы уже видели такую запись:
import “dart:math” as math;
Это префикс
as, который нужен, чтобы мы могли использовать зависимость вместе с другими, у которых имеются такие же классы.Допустим, у нас в 2 пакетах есть класс
MyClass, и нам нужно использовать оба. В таком случае мы можем добавить ключевое слово as к импортам и использовать их вместе:import 'my_package.dart' as package1;
import 'other_package.dart' as package2;
…
package1.MyClass();
package2.MyClass();
Также этот способ подходит, если в пакете присутствуют методы, и вы хотите знать, что они оттуда. Например, это используется при работе с пакетами
math, http и dio.Есть еще 2 ключевых слова, которые позволяют изолировать видимость классов, методов, переменных, расширений и миксинов из импортов:
1.
hide. Скрывает, что нам не понадобится. Например, если нам не нужен какой-то определенный класс или его имя дублируется.2.
show. Отображает только то, что нам необходимо. Это позволяет нам использовать что-то определенное, без доступа к остальному.import “my_model.dart” hide ModelA;
import “my_sevice.dart” show MyService;
Пишите в чате, как вы организовываете импорты на своих проектах?
