Javascript 使jQuery保持最新的实用方法?

Javascript 使jQuery保持最新的实用方法?,javascript,jquery,upgrade,sdlc,Javascript,Jquery,Upgrade,Sdlc,我们正在进行的一些项目在jQuery 1.4.2或更早版本中有着深厚的根基,介于缺乏最新版本的性能优势(或语法优势)、使用现在不推荐的方法带来的耻辱,以及部署一个3年以上版本的主动维护库带来的不适之间,升级即将到来 我们可以采用/重新访问哪些社区中流行的实践来确保顺利推出(即,关注模糊的兼容性问题,选择全局回归,重新分解一些旧代码…)?如何将它们最好地集成到SDLC中,以便将来升级?对于像jQuery这样的库,什么是合理的升级计划(我不认为每个点发布都会有显著的收益或合理的成本,但每6-12个月

我们正在进行的一些项目在jQuery 1.4.2或更早版本中有着深厚的根基,介于缺乏最新版本的性能优势(或语法优势)、使用现在不推荐的方法带来的耻辱,以及部署一个3年以上版本的主动维护库带来的不适之间,升级即将到来


我们可以采用/重新访问哪些社区中流行的实践来确保顺利推出(即,关注模糊的兼容性问题,选择全局回归,重新分解一些旧代码…)?如何将它们最好地集成到SDLC中,以便将来升级?对于像jQuery这样的库,什么是合理的升级计划(我不认为每个点发布都会有显著的收益或合理的成本,但每6-12个月一次可能非常合理)?

这是值得研究的:

此插件可用于检测和恢复 已在jQuery中弃用,并从1.9版起删除。见 有关插件消息的更多信息 产生。有关jQuery 1.9中所做更改的更多信息, 请参阅和


你总是过时的。一旦你完成了最新版本的更新,几个月后就会有一个更新的版本出现

除非您愿意投入数小时/数天/数周的开发、测试和错误修复,并可能破坏面向用户的功能,否则您不应该仅仅为了使用声明事件处理程序的最新方式而进行更新。它不会伤害你的。通常这是一件冒险的事情。这转化为开发团队的成本。你已经知道了。重构,尤其是在项目没有明显风险的情况下,通常很难向管理者证明。您应该仔细检查您的想法,以确保在已经运行的代码中使用新的jQuery是否会产生任何影响

现在,如果您正在现有站点中创建新页面,则可以在这些区域中包含新版本。但是,这将产生一个后果:假设您和您的团队除了开发站点的新部分外,还必须维护使用旧部分的部分。每个人都需要知道他们编写代码所针对的jQuery的特定版本

最后,我想说这样的话。除非项目因较旧的jQuery版本而被延迟或在技术上被阻止存在真正合理的风险,否则您将因为破坏一些已经在工作的东西而陷入麻烦,需要花费额外的时间才能使一切都像以前一样工作


无论如何,这种方法并不意味着您可以开始将“新部分”与旧部分分开,并在新区域中使用最新的库。

为了在开发树中保持最新,我建议使用
src=”http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js“
(完整的未缩小版本,便于调试)

然后,当您转到发布时,只需将其替换为标题注释(当前)中的特定缩小版本,这样做的好处是允许更好的客户端缓存和使用其他人的带宽


如果缓存不是一个问题,而是要确保它会自动获得该次要版本的错误修复,那么您可以只使用主要版本和次要版本,例如:(注意:google还没有1.9系列;但是1.8系列最多1.8.3)由于这些版本会定期更新以修复bug,所以它们不会像特定版本的版本一样被缓存在缓存中。在这个时代,我们无法预测任何软件版本的稳定性。在软件和服务版本发布前的几年,一年或两年之后。但在这个时候,服务的版本e快速、频繁地更新

因此,如果您在服务中使用任何服务,您必须使用敏捷开发。通过这种开发方法,您可以轻松地更改新的需求,并根据您的需要更改所需的方法

请不要使用折旧方法,因为它们不适用于长期服务版本。请将库中使用过的服务的库制作为使用其他服务的您自己的服务功能库,以便您可以根据您的新版本轻松更改它们


例如:就像你有一个方法名
update\u var();
它正在调用另一个其他服务的方法,比如
$a=newlib::check\u update()然后,通过创建库,你必须改变你的函数的主库和相关服务的核心库,Twitter的人已经很好地解决了这个问题


它按照tin上所说的做-它是一个web包管理器(包括保持JS文件(如JQuery)的最新版本)

要回答您的三个问题,下面是我已经做过或至少推荐的一些事情:

平滑升级推出的最佳实践

  • 有测试。这些测试可以是JS和/或浏览器测试的单元测试。这些测试至少应该涵盖项目中使用的最典型和最复杂的功能。如果没有测试,请编写测试。如果不想编写测试,请重新考虑。如果确实不想编写测试,请至少列出这样的用例列表meone将能够手动执行
  • 确保升级前所有测试都通过
  • 阅读您现在使用的版本和最新版本之间的每个(主要)版本的发行说明。另请参阅API文档中的和类别。如果您的任何代码使用jQuery UI,也请查看这些发行说明和中间版本。在执行此操作时,请