在名称空间下公开库(导出为,公开为)

时间:2019-06-13 18:01:53

标签: dart

我有一个包含小部件和实用程序功能的软件包。我想在用户导入程序包时将小部件显示为全局变量,这是正常情况。但是,我希望实用程序函数在某些速记变量下公开。

示例布局

lib/my_package.dart
lib/src/utils/a.dart
lib/src/utils/b.dart
lib/src/widgets/a.dart
lib/src/widgets/b.dart

我想到的唯一方法是让用户导入两个文件。

import 'package/my_package/widgets.dart'
import 'package/my_package/utils.dart' as utils;

还有其他方法吗?这些实用程序应该保留在不同的文件中,因此创建包含它们的类将行不通,这意味着公开单例获取器不是一种选择。我希望用户只能导入一个文件,因为这两个部分都是非常必要的。

# my_package.dart
import 'src/utils.dart' as utils; # <-- expose me
export 'src/widgets.dart'

我理解为什么不将export as添加到语言中,但是将import as暴露给库的使用者又是什么呢?

0 个答案:

没有答案