在Dart with Pub中,何时应该对依赖项使用"any"版本约束?

Jun*_*ont 8 versioning dart semantic-versioning dart-pub

在制作包时,我经常对是否应该使用any约束感到困惑.

我知道这个:

但是有一个灰色区域:

  • 要扩展的应用程序,例如codelabs,教程,模板,示例等.

  • 同样具有可重用库的应用程序 ; 也就是说,包含具有lib通用功能目录的包,这些目录在放入单独的包中是没有意义的,但也是web完整应用程序的目录.


问题:我应该何时使用any版本约束,何时应该完全指定Pub包的版本约束?

Nat*_*aum 2

旨在扩展的应用程序,例如代码实验室、教程、模板、示例等。

由于这些通常会被复制粘贴作为普通应用程序包的基础,因此我将使用约束any并签入锁定文件来设置一个很好的示例。

还具有可重用库的应用程序;也就是说,这些包具有lib用于公共功能的目录,这些功能对于放入单独的包中没有意义,但也具有web用于成熟应用程序的目录。

所有应用程序都应将其代码放在该lib目录中。该web目录应该只包含入口点。所以这只是一个标准的应用程序包,它应该使用any约束并签入锁定文件。