Angular 1.3 和最低要求的 JQuery 版本

Posted

技术标签:

【中文标题】Angular 1.3 和最低要求的 JQuery 版本【英文标题】:Angular 1.3 and minimal required JQuery version 【发布时间】:2015-05-17 05:31:15 【问题描述】:

我们有一个庞大的系统,完全用 Angular 开发,从头开始(没有非 Angular 遗留代码,没有其他非 Angular 框架)

真遗憾,我们仍在使用 angular 1.2.12 (!!) 和旧的 JQuery 版本 (1.8.3)

最近我被分配迁移我们的系统以使用最新的稳定 angular (=1.3.14)

令人惊讶的**,当我简要介绍了 angular 的源代码时,我发现了下面的注释(方法:bindJQuery

// Angular 1.3+ 在技术上至少需要 jQuery 2.1+,但它可能 与老年人一起工作

// 版本。不过,它肯定不适用于 jQuery

(令人惊讶的是** = 我在从 angular 1.2 到 1.3 的正式迁移指南中也没有在 angular 的更改日志中找到它……我错过了吗?)

由于我们目前也没有计划(在时间和精力估计方面)迁移我们的 JQuery 版本,所以我想问一下:

有谁知道是否有任何实际已知的错误和陷阱 当试图强制 Angular 1.3 与 jQuery 1.8.3 一起工作时? 在搜索中有没有我应该多加注意的可疑区域 对于错误和奇怪的行为? 这是我应该从一开始就避免的事情吗?

谢谢大佬

【问题讨论】:

您是否有理由无法更改您正在使用的 jquery 版本,至少对于最新的 1.x 而言?除非您以非常特定的方式使用非常特定的方法,否则我怀疑迁移到较新的 1.x 版本会有任何问题。我建议你至少尝试一下。 我们使用的是 JQuery 1.8.3。不更新 JQuery 的唯一原因是由于更改此基本库版本可能涉及的风险以及它可能如何影响我们的应用程序。我想如果我们要升级 - 我们最好升级到最新的 JQuery(就像我们将 angular 升级到最新的可用而不是最新的 1.2.x) Angular 1.3 与 jquery 1.8 配合得很好。我们的一款应用目前正在使用这些版本。 【参考方案1】:

根据Angular's FAQ,Angular 1.3.x 支持 jQuery 2.1 及更高版本。内容如下:

Angular 是否使用 jQuery 库?

是的,Angular 可以使用 jQuery,如果它在应用程序被引导时出现在您的应用程序中。如果 jQuery 不在你的脚本路径中,Angular 会回退到它自己的 jQuery 子集实现,我们称之为 jQLite。

Angular 1.3 仅支持 jQuery 2.1 或更高版本。 jQuery 1.7 和更新版本可能与 Angular 一起正常工作,但我们不保证这一点。

是的,这并没有给你一个关于可能被破坏的确切答案。但是“可能”和“不保证”应该给你一个强烈的迹象表明 Angular 没有使用

【讨论】:

感谢您指出这一点。我在开始使用 Angular 时阅读了一次常见问题解答 - 以后再也没有阅读过:) 最终它与代码中的评论相同 - 因此我最初的问题仍然存在 - 它到底有多糟糕? @aviadcohen,我认为常见问题解答中的以下内容应该给您一个提示:“可能可以在 Angular 中正常工作,但我们不保证我>。”。换句话说,它还没有经过测试——因此非常糟糕!

以上是关于Angular 1.3 和最低要求的 JQuery 版本的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 和 webpack:如何要求

流星 1.3 和 Angular 1

twitter bootstrap 3 jquery 最低版本

Angular 1.3 动画在 Firefox 中不起作用

获取jQuery或Javascript中某个属性的最高值和最低值

任何 jquery 1.3 兼容插件,使用用户文本输入过滤下拉列表,并根据匹配的输入字符串数进行分组