gpt4 book ai didi

dart - pubspec 应该在哪里以及有多少个应用程序

转载 作者:行者123 更新时间:2023-12-05 01:09:15 26 4
gpt4 key购买 nike

假设需要一个包含 3 个库和 2 个应用程序的项目。从 pub 文档中,我选择了如下结构。但是,这些应用程序完全不同,因此希望它们有自己的目录。 ( http://pub.dartlang.org/doc/#adding-a-dependency ) 上的文档说要将 pubspec.yaml 文件放在顶层。项目文件夹下方的上下文中的顶级是什么?

如果有一个 pubspec 并且它在/project 级别并与库共享,这是否意味着仅使用任何库而不是应用程序的用户将不必要地需要额外的包(如 good_stuff 和 big_stuff)?

/project
/app
/app1 (uses l1, package:good_stuff)
/app2 (uses l1, l2, l3, package:big_stuff)
/lib
/l1
/l2 (uses package:pathos/path.dart)
/l3 (uses l1 and l2)
/src
/l1
/l2
/l3

因此,考虑到这种所需的设置,将创建多少 pubspec 和在哪里来满足这些依赖关系。

最佳答案

套餐
你应该把你的 pubspec.yaml文件在您的 的顶层包裹 .在 Pub 中,包是最大的自包含代码单元,包含包自身所需的所有库、可执行文件、示例、文档、测试和工具。
在 Pub 中,大致有两种类型的包:

  • 库包 , 实际上只是传统意义上的库,旨在供其他包使用。
  • 应用包是其他包的使用者,并定义可以在命令行、服务器、Web 或其他地方运行的应用程序。

  • 这些是松散的定义,因为库包可能有可执行文件,而应用程序包可能有一些在其他应用程序中有用的可重用库。
    通常,您希望尝试使用多个分立组件来制作您的项目,这些组件可以单独更改和重复使用。这与为应用程序的所有部分制作一个包形成对比。
    你的项目
    我建议你有以下结构:
    /project
    /app1
    - pubspec.yaml
    /app2
    - pubspec.yaml
    /mechanics
    - pubspec.yaml
    /lib
    l1.dart
    l2.dart
    l3.dart
    /src
    ...
    在这里,您将拥有 2 个应用程序包和一个库包。
    一些注意事项:
  • 您可以引用mechanics包装与 path dependencies
  • 你只想要 project/如果您希望将整个项目捆绑在一起(例如,如果您要出售它),则作为顶级顶级项目。如果您希望 app1app2分居,不需要project/根本。
  • 你完全可以做l1 , l2 , 和 l3他们自己的套餐,如果你觉得他们可以分开住得够好。在这种情况下,只需将它们全部制作成自己的包装即可。

  • 也可以看看:
  • Creating a Package
  • Package Layout
  • 关于dart - pubspec 应该在哪里以及有多少个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16114228/

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