【问题标题】:Importing files under the src directory from a dart library从 dart 库导入 src 目录下的文件
【发布时间】:2018-12-04 16:00:30
【问题描述】:

有效的飞镖说

“不要导入其他包的 src 目录中的库。”

原因是它破坏了抽象,如果库要更改其底层实现,可能会破坏您的应用程序。

他们不提供替代方案或解决方案。

我目前正在开发我的应用所依赖的 dart 包。 从中导入模型或类而不是直接从包 src 文件夹中导入的正确方法是什么?

【问题讨论】:

  • 如果类不是从src/之外的文件中导出的,则没有正确的方法。
  • 所以将文件放在与 src 文件夹相同级别的目录中是解决方案吗?这可以被视为不破坏或改变这些课程的承诺吗?
  • 对不起,我不明白你的意思。您是否开发了要从中导入的包,还是第 3 方?
  • 都是我的,包和导入包的应用。
  • 然后添加一个文件lib/my_package.dart 并从那里导出您希望为您的包的消费者提供的内容。喜欢export 'src/file1.dart'; 或 ``export 'src/file1.dart' show Class1 hide Class2;`

标签: dart flutter dart-pub flutter-dependencies


【解决方案1】:

正如前面在 cmets 中提到的,您可以定义可以从包中公开哪些类。你是对的,建议避免暴露比预期更多的 API——docs 中也提到了这一点。为此,您可以定义公开的类:

export 'src/your_file.dart' show ExposedClass hide HiddenClass;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-14
    • 2019-06-09
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 2020-03-02
    • 2018-09-17
    相关资源
    最近更新 更多