使用Dart / Flutter进行Umbrella进口

4
我正在开发一个Dart(Flutter)插件。为了使代码整洁且避免一个庞大的文件,我将源代码拆分成许多不同的实现文件。
问题在于,我不希望用户每次使用我的包时都要导入大量的源文件。
在Flutter或Dart本身中是否有一种声明某种“总体接口”的方法?

您可以在单个文件中创建导出,并让它们导入该文件。 - nonybrighto
1个回答

6
在您的插件中,您有一个名为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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接