我应该将JavaScript库的版本号放在文件名中吗?

时间:2013-04-03 09:09:12

标签: javascript

我即将发布一个javascript库。

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

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

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

我的问题是:是否有任何理由将该版本保存在文件名中?

我正在使用其他第三方库以及那些我没有存储版本的库,我总是需要弄清楚我是否需​​要升级。

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

4 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

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

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

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

如果您想匹配其他图书馆发布商所做的事情,您可能需要查看Semantic Versioning - 它会编写x.x.x版本编号系统。

如果您打算通过Github发布您的图书馆(我相信这些日子里很酷的孩子会这么做),您可能想要使用Jonathan "Wolf" Rentzsch's system for doing semantic versioning there

答案 2 :(得分:0)

如果您正在使用单元测试,您可以确保V1单元在释放磁带库之前测试所有与V2完全正常的工作。

Smashing article on js unit testing

答案 3 :(得分:0)

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