Зонт Импорт с Дартс / Флаттер

Я разрабатываю плагин для дартс (флаттер). Я разделил исходный код на множество различных файлов реализации, чтобы сохранить чистоту и избежать создания одного массивного файла.

Проблема в том, что я не хочу, чтобы пользователям приходилось импортировать тонны исходных файлов всякий раз, когда они хотят использовать мой пакет.

Есть ли способ, во флаттере или в самом Дартсе, быть в состоянии объявить какой-то зонтичный интерфейс?

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
Другие вопросы по тегам