Зонт Импорт с Дартс / Флаттер
Я разрабатываю плагин для дартс (флаттер). Я разделил исходный код на множество различных файлов реализации, чтобы сохранить чистоту и избежать создания одного массивного файла.
Проблема в том, что я не хочу, чтобы пользователям приходилось импортировать тонны исходных файлов всякий раз, когда они хотят использовать мой пакет.
Есть ли способ, во флаттере или в самом Дартсе, быть в состоянии объявить какой-то зонтичный интерфейс?
1 ответ
В вашем плагине у вас есть lib
папка. Создать lib/src
подпапку и перенесите туда большую часть ваших файлов реализации. Обычно в одном файле остается только один файл lib
например someplugin.dart
,
Там вы можете иметь любые классы или функции верхнего уровня, но здесь вы включаете исходные файлы реализации, используя export
директивы.
Вот пример из плагина google_sign_in, из google_sign_in.dart
:
import 'dart:async';
import 'dart:ui' show hashValues;
import 'package:flutter/services.dart' show MethodChannel;
import 'package:meta/meta.dart' show visibleForTesting;
import 'src/common.dart'; // this import is only required if used by some top level
// class lower down this file
export 'src/common.dart'; // this export means that your plugin's users don't need
// to import it themselves