gpt4 book ai didi

dart - Dart 中的通用包而不是库?

转载 作者:行者123 更新时间:2023-12-03 03:01:49 27 4
gpt4 key购买 nike

我在不同的 Dart 项目之间共享了一些模型类。

选项1

首先,我遵循 dart 库约定执行以下操作:

在导入公共(public)库/包的项目/包中:

  • pubspec.yaml:
  • dependencies:
    mycommon:
    path: ../mycommon
  • some_class.dart:
  • import 'package:mycommon/models.dart';

    通用库/包:
  • pubspec.yaml
  • name: mycommon
  • lib/src/model/model_1.dart
  • lib/src/model/model_2.dart
  • ...
  • lib/src/model/model_50.dart
  • lib/models.dart:
  • library mycommon;

    export 'src/model/model_1.dart';
    export 'src/model/model_2.dart';
    ...
    export 'src/model/model_50.dart';

    选项 2

    将公共(public)库视为普通包

    在导入公共(public)库/包的项目/包中:
  • pubspec.yaml:
  • dependencies:
    mycommon:
    path: ../mycommon
  • some_class.dart:
  • import 'package:mycommon/model/model_1.dart';

    通用库/包:
  • pubspec.yaml
  • name: mycommon
  • lib/model/model_1.dart(无库关键字)
  • lib/model/model_2.dart
  • ...
  • lib/model/model_50.dart

  • 我在任何地方都找不到使用 选项 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,您导入的每个类都不需要在它自己的库中。

    关于dart - Dart 中的通用包而不是库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55634928/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com