我有一些在不同的飞镖项目之间共享的模型类。
首先,我按照dart库约定执行以下操作:
在导入公共lib /包的项目/包中:
dependencies:
mycommon:
path: ../mycommon
import 'package:mycommon/models.dart';
常见的lib /包:
name: mycommon
library mycommon;
export 'src/model/model_1.dart';
export 'src/model/model_2.dart';
...
export 'src/model/model_50.dart';
将公共库视为普通包
在导入公共lib /包的项目/包中:
dependencies:
mycommon:
path: ../mycommon
import 'package:mycommon/model/model_1.dart';
常见的lib /包:
name: mycommon
我还没有找到任何使用选项2的地方。这就是我自己提出的。
我的问题很简单,如果推荐选项2方式?我更喜欢使用选项2,因为我可以导入我真正想要的类而不是所有类。大多数时候,每个dart文件只需要一个类模型。
lib/src/model/model_a.class
不是您应该用于Dart代码的文件名。该文件应该是lib/src/model/model_a.dart
,无论它具有什么类型的Dart代码。
使用lib/model/model_a.dart
并导入为package:mycommon/model/model_a.dart
完全没问题。通常的情况是发布包含一个导入的库,然后在lib/src
中实现详细信息,但这不是必需的。如果有一些实现是有用的,将它们放在lib/src
之外并直接导入就可以了。
如果有很多这样的文件,或者如果通常需要将一堆文件一起导入,我建议不要遵循该模式。对于每个型号,import 'package:mycommon/models.dart';
将比连续几十次进口更好。 Dart不是Java,你导入的每个类都不需要在它自己的库中。