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

And*_*ord 5 javascript jquery jquery-ui

我正在运行一个Symfony 2.8基于网页的网页,目前正在使用jQuery 1.11.3. 我想更新到jQuery 3.2.1,所以我只是更改了导入并添加了迁移插件:

// 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>
Run Code Online (Sandbox Code Playgroud)

我的理解是,由于有迁移插件,现有脚本应该没有问题。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
...
Run Code Online (Sandbox Code Playgroud)

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

那么,完全不jQueryUI兼容jQuery 3吗?

我删除了所有的迁移插件仍然可以正常工作吗?这应该如何处理?这是需要担心的事情还是只是一个警告?

ADy*_*son 3

它们是警告,所以是的,它们是值得担心的事情,但正如您所发现的,它们不会立即破坏代码。

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

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