我正在学习开发Web应用程序的过程。在构建应用程序的不同组件时,我会从在线示例中获取帮助,并尝试查看它是否有助于实现我的功能目标。在我的一个应用程序中,我正在使用两种不同版本的jQuery。
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
我尝试删除1.12.4版本并运行了我的应用程序,它确实可以正常工作。
我的问题是,同时拥有这两个库真的必要吗?它们提供不同的功能还是3.1实际上是1.12.4的升级?换句话说,3.1.0是否具有1.12.4的所有功能?
当我的应用程序在没有库的情况下正常工作时,是否是因为保留了函数,缓存并被引用了?
很困惑。
我确信这是一个普遍的问题,并且担心是否有资格投票。但是对于像我这样的自我学习者来说,社区的指导不仅有价值,而且可以帮助我理解我所做的是非。
答案 0 :(得分:0)
这是没有必要的,实际上,如果其中一个涵盖了所有情况,则应该避免使用导入多个jquery版本,因为它几乎容易出错,发生冲突。如果出于某些原因您确实需要在项目中将这两个文件放在一起,则导入配置帮助会有所帮助,请参阅related post
<!-- load jQuery 3.1.0 -->
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script type="text/javascript">
var jQuery310 = $.noConflict(true);
</script>
<!-- load jQuery 1.12.4 -->
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script type="text/javascript">
var jQuery1124 = $.noConflict(true);
</script>
答案 1 :(得分:0)
我的问题是,同时拥有这两个库真的必要吗?
不,您不必这样做。我想最后包含的库必须重写了jQuery的定义,因为您还没有使用noConflict()
方法
它们提供不同的功能还是3.1实际是升级 1.12.4。?
某些方法可能已被弃用,有些方法可能会保留。请参阅https://blog.jquery.com/2016/07/07/jquery-3-1-0-released-no-more-silent-errors/
https://api.jquery.com/category/version/3.1/
http://blog.jquery.com/2016/05/19/jquery-migrate-1-4-1-released-and-the-path-to-jquery-3-0/
我的2美分:
使用最新的一个,如果有问题,则可以使用jquery迁移插件https://jquery.com/upgrade-guide/3.0/,直到解决损坏的代码为止。