我正在运行基于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
),正确吗?
那么,jQueryUI
与jQuery 3
完全兼容吗?
我删除了迁移插件仍然工作正常吗?应如何处理?这是值得担心的还是警告?
答案 0 :(得分:1)
他们是警告,所以是的,他们需要担心,但他们并没有立即破坏代码,正如你所发现的那样。
如果某个功能已弃用,则意味着维护者计划将来删除该功能。我们的想法是,在再次升级之前,弃用警告会为您提供时间和足够的警告来更改您的代码,但不会立即引起您的问题。项目的文档,路线图和发行说明通常也包含有关弃用和删除的信息,因此您可以提前计划。
基本上,您现在很好,但应该计划在中期更改您的代码,以避免弃用功能。