dart - 是否可以在 pubspec 中为包依赖项赋予不同的名称

标签 dart dart-pub

我设法在我的应用程序中添加了相对路径依赖项

name: myapp
description: A sample app
dependencies:
  mylib:
    path: ../mylib

然后将其导入到我的源代码中
import 'package:mylib/mylib.dart';

但是,名称“mylib”取自库包 pubspec,如果我想更改它(例如“mynewlib”),我必须在任何地方更改名称(pubspec AND dart 源代码)

它还可以防止 2 个包具有相同的名称(是的,我知道,很奇怪,但我无法控制人们在 pub.dartlang.org 中放入的内容)。我想做的是类似的事情
name: myapp
description: A sample app
dependencies:
  mylib:
    path: ../mylib
    name: mynewlib

并在源代码中
import 'package:mynewlib/mylib.dart';

但是我找不到正确的语法以及这是否可能。 (准备测试的示例代码在这里: https://github.com/alextekartik/dart-test/tree/master/lib_test )。请注意,这里我不是在谈论库名,而是在谈论包名(并且将包命名为 mylib 可能会令人困惑)

最佳答案

没有办法为包本身定义另一个名称(据我所知 - 如果有,我也会感兴趣)。

但是,作为一种解决方法,您可以重新包装它。例如,假设您有两个“mylib”包。

创建一个新的库应用程序“mylib1”。在那里,您导入第一个“mylib”并使用 export 重新导出它.为另一个“mylib”创建另一个库应用程序“mylib2”。然后,您可以在同一应用程序中使用不同的包名称。

是的,这有点尴尬,但只要没有更好的方法......

关于dart - 是否可以在 pubspec 中为包依赖项赋予不同的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16791441/

相关文章:

flutter - Null Check 运算符用于 flutter with Sqflite 的空值

flutter - 错误:类 'QuerySnapshot'没有实例获取方法 'data'

flutter - Dart 包 : Dependency conflicts

flutter - 如何清理 flutter 过时的 pubs

flutter - 如何创建扩展密封类的方法的模拟?

image - Flutter qrImage 转换为图片

Dart:在 Windows 上构建时为 "Invalid argument(s): Illegal character in path"

github - Dart pub.dev发布的插件,README.md中的图像损坏

flutter - 如何在本地运行 flutter web build

dart - 如何在Flutter中的AppBar中使颜色相同