Dart/Flutter 的雨伞进口
Umbrella Imports with Dart/Flutter
我正在为 Dart (Flutter) 开发一个插件。我已将源代码分成许多不同的实现文件,以保持整洁并避免拥有一个庞大的文件。
问题是,我不希望用户每次想使用我的包时都必须导入大量源文件。
在 flutter 或 Dart 本身中,有什么方法可以声明某种伞形接口吗?
在您的插件中,您有一个 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
我正在为 Dart (Flutter) 开发一个插件。我已将源代码分成许多不同的实现文件,以保持整洁并避免拥有一个庞大的文件。
问题是,我不希望用户每次想使用我的包时都必须导入大量源文件。
在 flutter 或 Dart 本身中,有什么方法可以声明某种伞形接口吗?
在您的插件中,您有一个 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