【问题标题】:How to develop a Dart library locally?如何在本地开发一个 Dart 库?
【发布时间】:2015-08-19 13:42:40
【问题描述】:

我可能精神失常,但我很难做最简单的事情:编写一个简单的库并使用它。 (我想全部在本地完成,不发布库等)

我浏览了pub commands的列表,似乎没有一个在本地安装包,那么我该如何在其他项目中使用它呢?

例如,我刚刚克隆了this library,想在本地测试它是否有效。我该怎么做?

【问题讨论】:

  • 您似乎混淆了包和库。在 Dart 中,一个包由一个或多个库组成,也可以是一个只有资源文件而没有任何库的包。库是一个 Dart 脚本文件。该库中可能还有其他文件(与part/part of 连接。如果您想在同一个包中使用库,只需将其导入import 'some_library_file.dart';

标签: dart dart-pub


【解决方案1】:

要使用本地库,您可以在 pubspec 中指定 local filepath,例如:

dependencies:
  transmogrify:
    path: /Users/me/transmogrify

当使用本地依赖时,Dart 将自动获取任何更改,因此无需运行特殊的 pub 命令。

【讨论】:

  • 为什么听起来很荒谬?只需单行更改即可完全按照您的意愿进行操作。老实说,在我看来,需要一个单独的 pub 命令来链接本地包会更荒谬:)
  • 然而我认识的所有其他包管理器都是这样工作的。他们有一个 repo,你可以从 web 作为依赖项,或者从任何其他来源填写它。 Maven、npm、配音、...
  • 是的,这绝对是常见的——我只是不相信它会更好。 :) 对于它的价值,npm 支持以同样的方式使用local filepaths。而且我不认为我会以 Maven 作为现代包管理器的一个例子...... ;-)
  • 我不喜欢这种方法的是我不想更改pubspec 文件以使用我的本地版本的 git repo 类型依赖项。例如:在一个JS包中,npm link让我在本地使用包而不修改package.json文件。
【解决方案2】:

你必须使用path packages

【讨论】:

  • 你为什么这么认为?我强烈建议您阅读所有链接的文章,以更好地了解 pub 中使用的依赖系统及其提供的所有可能性。
  • 我只想创建一个库并使用它。这种方式迫使我记住存储它的位置,因为我无法发布/安装它。无论如何,我猜它更像是一个 makefile 而不是依赖管理器
  • 如果你愿意,可以和你的 pubspec 保持在同一个地方。 "path:" 配置接受相对路径。
猜你喜欢
  • 2019-02-14
  • 2013-06-02
  • 2021-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-12
  • 2019-04-24
相关资源
最近更新 更多