支持多个版本的 AngularJS

Posted

技术标签:

【中文标题】支持多个版本的 AngularJS【英文标题】:Supporting Multiple Versions of AngularJS 【发布时间】:2015-01-22 08:33:56 【问题描述】:

我维护一个名为 Angular Modal Service 的 AngularJS 库。我想更改依赖项,以便以 AngularJS 1.3 为目标,如下所示:

"dependencies": 
  "angular": "~1.3.0"

但是,我明确知道该库适用于 ~1.2。我不想强迫想要我的代码的最新版本的消费者必须升级,可以这样做:

"dependencies": 
  "angular": "~1.3.0 | ~1.2.0"

让我的图书馆保持低影响?如果可能,它实际上是否合适?有什么好的指导方针吗?

【问题讨论】:

嗨,马修,我没有这样做的唯一原因是无法设置最大版本(尽管从你所说的听起来你可以做到)。如果可以设置最高版本,怎么设置?并且可以以 1.3.x 的形式设置(即 1.3 加上任何次要版本吗?)顺便说一句,如果可行,请写下答案,我会接受它 【参考方案1】:

您可以做的一件事是使用最低的最低版本,并允许每个高于该版本的版本

>=1.2.0

但更好的办法是同时放置您测试过的最高版本,以防将来出现不兼容的版本。

>=1.2.0 <=1.3.0

或者它的简写版本可能看起来像这样

1.2.0 - 1.3.0

如果你从上面删除第二个等号,你最终得到的是一个版本语法,节点调用一个可以缩短到这个的 x 范围

1.2.x

相同
>=1.2.0 <1.3.0

所有这些以及更多内容都可以在node semver page 上找到。

【讨论】:

嗨,马修,这是完美的,>=1.2.0

以上是关于支持多个版本的 AngularJS的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个库中支持多个 Scala 版本

支持多个版本的第三方库

npm、package.json 以及支持多个大版本的第三方库,每个版本的测试?

在一个 Debian 软件包中支持多个 Boost 版本

Apple Store 是不是支持具有不同允许国家/地区的同一应用程序的多个版本?

如何对支持多个版本的服务器的特定服务进行节俭调用