jQueryUI与jQuery 3兼容吗?迁移插件显示弃用

时间:2017-08-18 11:24:09

标签: javascript jquery jquery-ui

我正在运行基于Symfony 2.8的网页,该网页目前正在使用jQuery 1.11.3。我想更新到jQuery 3.2.1,所以我只是更改了导入并添加了Migration Plugin:

// Old
<script src="//code.jquery.com/jquery-1.12.4.min.js"></script>

<script src="//code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>


// New
<script src="//code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-3.0.0.js"></script>

<script src="//code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>

我的理解是,由于Migration Plugin,现有脚本应该没有问题。应该通过插件处理jQuery 1.12和3之间的所有不兼容性或BC中断。 这是正确的吗?

事实上,一切似乎都运行正常,插件不报告我自己的脚本有任何问题。 所以应该保存以删除插件(如果我只使用这些脚本),对吗?

但是,插件报告了几个似乎由jQueryUI引起的问题,例如:

JQMIGRATE: jQuery.expr[":"] is now jQuery.expr.pseudos
migrateWarn @ jquery-migrate-3.0.0.js:62
get @ jquery-migrate-3.0.0.js:75
(anonymous) @ jquery-ui.min.js:6
(anonymous) @ jquery-ui.min.js:6
(anonymous) @ jquery-ui.min.js:6

JQMIGRATE: jQuery.unique is deprecated, use jQuery.uniqueSort
migrateWarn @ jquery-migrate-3.0.0.js:62
get         @ jquery-migrate-3.0.0.js:75
i           @ jquery-ui.min.js:6
_classes    @ jquery-ui.min.js:6
...

如果我理解正确,jQueryUI会使用一些应替换的代码(jQuery.expr[":"])(jQuery.expr.pseudos),正确吗?

那么,jQueryUIjQuery 3完全兼容吗?

我删除了迁移插件仍然工作正常吗?应如何处理?这是值得担心的还是警告?

1 个答案:

答案 0 :(得分:1)

他们是警告,所以是的,他们需要担心,但他们并没有立即破坏代码,正如你所发现的那样。

如果某个功能已弃用,则意味着维护者计划将来删除该功能。我们的想法是,在再次升级之前,弃用警告会为您提供时间和足够的警告来更改您的代码,但不会立即引起您的问题。项目的文档,路线图和发行说明通常也包含有关弃用和删除的信息,因此您可以提前计划。

基本上,您现在很好,但应该计划在中期更改您的代码,以避免弃用功能。