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

标签 javascript jquery api refactoring

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

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

请不要认为这个问题已经结束。当前的响应已经让我很好地了解了可用于升级 jQuery 代码的过程和工具。但是,请随时添加您自己升级 jQuery 代码的经验。

最佳答案

你的问题都很大。但是从我个人的经验来看,除了第一个版本在迁移到更高版本之后发生的很少的问题。除非您编写的代码有问题而不是 jquery,否则您几乎不会遇到任何问题。

我还没有见过哪个合适的js开发者同时使用两个不同的版本。

JQuery 现在本身为单元测试提供了一个非常好的 api,称为 qunit。如果您开始在那里实现测试功能,您应该确定您的代码可以无缝运行。

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

希望这些信息对您有所帮助

关于javascript - 为什么人们必须在同一个页面上使用多个版本的 jQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2576483/

相关文章:

javascript - 在 Jasmine 中测试成功后如何记录规范?

ruby-on-rails - Wrong number of arguments 响应错误

c - 我如何在 FreeBSD 中用 C 或 C++ 枚举网络设备或接口(interface)的列表?

json - 如何在 Flutter 中检查 JSON 数组是否为空

javascript - 如何安全地评估在 JavaScript 中表示为字符串的 bool 表达式?

javascript - 在 AngularJS Controller 之间共享数据

java - 为什么我的 javascript 数组从 java 对象获取未定义的值?

javascript - 将 json 列表动态绑定(bind)到 HTML

javascript - 数组的最后一个元素为 'Array'

javascript - 上传文件时如何将 "progress"和更新事件绑定(bind)到ajax请求