制作包时,我常常对是否应该使用any
约束感到困惑。
我知道:
库软件包,I should specify clear version constraints以便我的库用户知道我的传递依赖项的版本,
应用程序包,I should use any
and check in my pubspec.lock
lockfile以便其他人可以运行我的应用程序,
但是有一个灰色区域:
要扩展的应用,例如codelabs,教程,模板,示例等。
还有可重用库的应用程序;也就是说,具有lib
目录的软件包用于通用功能,这些软件包放在一个单独的软件包中是没有意义的,而且还有一个用于完整应用程序的web
目录。
问题:我应该何时使用any
版本约束,何时应该完全指定Pub包的版本约束?
答案 0 :(得分:2)
要扩展的应用程序,例如codelabs,教程,模板,示例等。
由于这些通常会被复制粘贴作为普通应用程序包的基础,因此我将使用any
约束并检入锁定文件以设置一个好的示例。
还具有可重用库的应用程序;也就是说,具有
lib
目录的软件包用于通用功能,这些软件包放在一个单独的软件包中是没有意义的,而且还有一个用于完整应用程序的web
目录。
所有应用程序都应将其代码放在lib
目录中。 web
目录应该只包含入口点。所以这只是一个标准的应用程序包,应该使用any
约束并检入锁文件。