在处理更大的Web项目(比如说20多页)时,如何将Javascript库更新到最新版本?我特意使用jQquery很多。好像每次我看,都有一个新版本。我在所有页面上都包含了jQuery库,每个页面都需要更新它。其他人做什么?我确信一个很好的答案是使用一个带有单个前端控制器的框架。我已经考虑过了,但我还没准备好走这条路。
答案 0 :(得分:6)
当更新不向后兼容时,它可能会自动中断。我们会定期检查邮件列表和论坛,检查新版本是否已经发布,阅读更新日志和/或encodeiff,并检查我们的插件是否兼容。我们通常将服务器克隆为金色外套,在那里测试新版本并查看是否有任何中断。
如果优势超过了更新所需的工作量,我们会这样做,但只有在经过足够的时间后,社区才能找到并解决版本的初始错误。
答案 1 :(得分:3)
以下是一个不涉及框架或服务器端的选项
因此,我们假设您有一个boorloader.js文件,并且所有html文件都包含它。在这个文件中,您可以在顶部插入以下代码。
var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js";
var head = document.getElementsByTagName('head');
head[0].appendChild(jq);
你可以抽象大部分内容来支持很多不同的数据点,但最终的结果是你从一个文件中异步注入jQuery库。更新一次,所有HTML也都会更新。
答案 2 :(得分:3)
您可以随时使用最新的jQuery:
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
当然,你必须小心,因为它可能会破坏事物(特别是如果有重大版本更改)。
答案 3 :(得分:1)
某种形式的template或include系统,其中有很多种。
大frameworks通常会附带template系统,但您 不能使用。如果preprocess,您甚至不需要服务器端编程。
答案 4 :(得分:1)
我通常只对我控制的资源使用“不透明”目标 - 例如“的jquery.js”。然而,这有几个缺点:
使用半透明资源(例如“jquery-1.4.js”)可以减轻但不能消除所提到的问题(注意缺少修订版/错误修复版;可以参考1.4.0或1.4。 1,但不是1.5.x)。
快乐的编码。
答案 5 :(得分:1)
或
一般来说,没有理由更新库是不好的,因为旧版本可以满足您的需求。但一般来说,将外部系统的交互包装起来以便集中控制它们是很好的。
答案 6 :(得分:0)
通常认为自动更新框架或使用前端加载器是个坏主意。基本上,这意味着第三方可以对您的网站进行一定程度的控制。如果他们在图书馆中进行了大量重大更改,他们将自动发布到您的网站,现在您努力工作的网站已被破坏。
如果我在.NET工作,我更喜欢把JS和CSS这样的东西放在include或MasterPage中。