繁体   English   中英

为什么人们必须在同一页面上使用多个版本的jQuery?

[英]Why do people have to use multiple versions of jQuery on the same page?

我注意到有时人们必须在同一页面中使用多个版本的jQuery(参见问题1问题2 )。 我假设人们必须携带旧版本的jQuery,因为它们的一些代码基于旧版本的jQuery。 显然,这种方法会导致效率低下。 理想的解决方案是重构旧代码以使用更新的jQuery API。 我想知道是否有工具可以自动升级一段代码以使用更新版本的jQuery。 我从来没有用Javascript或jQuery编写程序。 所以,我想听听有这些语言经验的程序员关于他们对这个问题的看法。 特别是,我想知道以下内容。

  1. 加载多个版本的jQuery需要多少问题?
  2. 您是否曾经在同一页面中加载任何其他库的多个版本?
  3. 您是否知道任何可以帮助您迁移代码以使用更新的API的重构工具?
  4. 你认为这样的重构工具是否有用? 你愿意用吗?

请不要认为这个问题已经结束。 目前的回复已经让我对可用于升级jQuery代码的过程和工具有了很好的了解。 但是,请随意添加自己的升级jQuery代码的经验。

你的问题都很重要。 但是根据我的个人经验,除了第一个版本中的一些问题,这些问题在迁移到后来的版本之后发生。 几乎你不应该遇到任何问题,除非你写的代码有问题而不是jquery。

我没有看到任何合适的js开发人员同时使用两个不同的版本。

JQuery现在本身为称为qunit的单元测试提供了一个非常好的api。 如果你开始实现测试功能,你应该确保你的代码无缝地工作。

我将QUnit用于繁重的项目。 这可能需要很多ajax请求等等。当然,将它用于几个动画等并不值得。

我希望这些信息对你有用

忽略可以使用JQuery执行此操作的事实,使用任何API的2个版本是不寻常的并且容易出错。 这是一种罕见的做法,但至少对于JQuery来说,它已经完成了。

如果我正在评估新项目的供应商组件并且需要更旧的库,那么在投资该组件之前我会三思而后行。 提供需要旧版本的工具的供应商是以下之一:

1)非常谨慎和稳定(良好)

2)速度不快(不太好)

3)资源不足(坏)

4)没有动力更新他们的工具,因为没有足够的人要求该工具(非常糟糕)

当然(5)可能是他们的工具非常好而且他们拥有如此庞大的客户群,他们觉得不需要更新它。 就目前而言,这是可以的,并最终回到其他问题之一。

我使用足够多的第三方工具来了解有时候,一个工具做得很好,无论如何我都会选择它,但总的来说,我想要一个工具成为新项目的最新工具。 有很多“夜间飞行”的供应商在那里只是没有维护他们的产品而且在你要求支持或新功能之前你找不到它。

我有时也在同一页面上使用两个版本的jQuery,但原因不同。 这是在页面上作为第三方窗口小部件运行的代码; 在这种情况下,您不能指望存在的任何库的特定版本。

如果在这样的代码中需要一个像jQuery这样的库,最安全的是加载你的版本并执行诸如myNamespace.jQ = jQuery.noConflict(true)这样的事情,这样你就可以拥有一个你可以依赖的命名空间的独立版本,与页面的其余部分分离。

这样,如果该页面更改了代码,您的第三方代码就不会受到影响。 在这种情况下,通过消除其他人代码中对库版本的可能依赖性,我认为使用多个jQuery版本实际上有助于重构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM