如何在大型Web项目中将Javascript库更新为最新版本?

时间:2011-05-05 21:19:10

标签: jquery javascript

在处理更大的Web项目(比如说20多页)时,如何将Javascript库更新到最新版本?我特意使用jQquery很多。好像每次我看,都有一个新版本。我在所有页面上都包含了jQuery库,每个页面都需要更新它。其他人做什么?我确信一个很好的答案是使用一个带有单个前端控制器的框架。我已经考虑过了,但我还没准备好走这条路。

7 个答案:

答案 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)

某种形式的templateinclude系统,其中有很多种。

frameworks通常会附带template系统,但您 不能使用。如果preprocess,您甚至不需要服务器端编程。

答案 4 :(得分:1)

我通常只对我控制的资源使用“不透明”目标 - 例如“的jquery.js”。然而,这有几个缺点:

  1. 不能依赖CDN的确切版本(必须是受控资源)。对于本地Javascript资源,这不是问题,但它确实会影响具有众所周知的CDN URL的库。
  2. 所有文件必须始终使用相同的版本。 (例如“jquery.js”是“jquery-1.4.1.js”)。这对我工作的项目来说不是问题,但对于大型项目来说可能是一个问题。
  3. 删除版本号的一些自我文档。
  4. 使用半透明资源(例如“jquery-1.4.js”)可以减轻但不能消除所提到的问题(注意缺少修订版/错误修复版;可以参考1.4.0或1.4。 1,但不是1.5.x)。

    快乐的编码。

答案 5 :(得分:1)

  • 使用指向所需版本的公共服务器端包含

  • 指向您可以解析为所需版本的本地网址

一般来说,没有理由更新库是不好的,因为旧版本可以满足您的需求。但一般来说,将外部系统的交互包装起来以便集中控制它们是很好的。

答案 6 :(得分:0)

通常认为自动更新框架或使用前端加载器是个坏主意。基本上,这意味着第三方可以对您的网站进行一定程度的控制。如果他们在图书馆中进行了大量重大更改,他们将自动发布到您的网站,现在您努力工作的网站已被破坏。

如果我在.NET工作,我更喜欢把JS和CSS这样的东西放在include或MasterPage中。