带有飞镖/颤音的雨伞进口

Bra*_*sse 2 interface package dart flutter umbrella

我正在为Dart(Flutter)开发插件。我已将源代码分为许多不同的实现文件,以保持环境整洁并避免拥有一个庞大的文件。

问题是,我不希望用户每次使用我的软件包时都必须导入大量的源文件。

在flutter或Dart本身中,有什么方法可以声明某种伞形接口?

Ric*_*eap 6

在您的插件中,您有一个lib文件夹。创建一个lib/src子文件夹,然后将大部分实现文件移动到那里。这是典型的被抛在短短一个文件libsomeplugin.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
Run Code Online (Sandbox Code Playgroud)