5

我即将发布一个 javascript 库。

我想将文件另存为 [library-name].1.0.0

然后随着图书馆的发展,您将能够下载新版本,例如

  • [库名称].1.0.1.js
  • [库名称].1.0.2.js
  • [库名称].1.0.3.js
  • [库名称].1.1.0.js
  • [库名称].1.2.0.js
  • [库名称].2.0.0.js

我的问题是:有什么理由以文件名保存版本吗?

我正在使用其他 3rd 方库以及那些我不存储版本的库,我总是必须弄清楚是否必须升级。

例如,我使用 codemirror.js,我总是想知道我是否使用的是最新版本。

4

4 回答 4

3

如果您要下载它,那么将版本号作为文件名的一部分是一个好主意。像jQuery一样在文件开头添加版本号以及许可证信息也是一个好主意

结帐 - http://code.jquery.com/jquery-1.9.1.min.js

唯一不应该添加版本号的情况是当您在整个网站中引用脚本文件时 - 因为您不想在更新脚本时更改所有引用。

于 2013-04-03T19:16:39.713 回答
1

我自己从未发布过任何库,但将版本号放在文件名中对我来说听起来是个好主意。

在升级时,我认为将版本号放在文件名中用于作者不希望在未来版本中引入重大更改的库,仅修复不影响已针对库编写的代码的错误修复和添加。这意味着使用该库但自己不托管它的人(即指向公共 CDN 上的库的人)会自动指向最新版本,从而无需执行任何操作即可修复错误。

但是,正如您所说,对于下载库并自己托管它的人来说,这确实意味着他们必须打开库文件来检查版本号。

如果你想匹配其他一些图书馆出版商所做的,你可能想看看Semantic Versioning - 它编码了 xxx 版本编号系统。

如果你打算通过 Github 发布你的库(我相信这就是现在酷孩子们所做的),你可能想要使用Jonathan "Wolf" Rentzsch 的系统在那里进行语义版本控制

于 2013-04-03T09:17:28.077 回答
0

如果您正在使用单元测试,您可以确保在发布库之前 V1 单元测试对 V2 都可以正常工作。

关于js单元测试的爆款文章

于 2013-04-03T09:16:59.723 回答
0

如果我正确理解了您的问题,那么不包含版本名称的一个原因是,如果您使用该 CDN 托管文件托管脚本,则用户在升级时不必更改任何代码。

于 2013-04-03T09:17:51.587 回答