2015-01-21 100 views
0

我想聽聽你對我將要描述的事情的建議。多個jQuery版本[建議]

我是一個大型網絡應用程序開發團隊的一員,這使得中型到大量jQuery的使用,在過去的7 - 8年不斷髮展。由於使用時間長,在此期間,許多版本的jQuery已經發布並在應用程序中使用。

由於版本之間存在不兼容的可能性,您對開發需要jQuery的功能有何建議?

  1. 在使用jQuery的每個頁面中包含特定版本的jQuery?
  2. 包含一個通用的jQuery.js文件,它不斷更新到最新版本?
  3. 還有別的嗎?

這兩種替代方案都有優點和缺點,但我很想聽聽你對類似情況的體驗。

在此先感謝。

+4

選項2,當然。如果更新後有不兼容性,您應該修復它。 – DontVoteMeDown 2015-01-21 10:29:27

+3

僅使用一個版本的jQuery和一個版本。如果您需要傳統瀏覽器支持,它應該是1.11,或者2。如果不是,請確保在選擇該版本時繼續升級後者。 – 2015-01-21 10:29:43

+0

從2006年到2012年(6年,你提到的同一期間),框架改變了它的版本9次,所以你應該至少有9個版本的jquery。 [來源](http://en.wikipedia.org/wiki/JQuery#Release_history)。 – DontVoteMeDown 2015-01-21 10:32:51

回答

1

使用跨頁面一致的jQuery特定版本(不要在不同頁面上使用不同的版本)。盡你所能地主動更新。 jQuery發行版實際上會破壞向後兼容性,而且當它們發佈時,它在宣佈發行版的博客文章中有記錄。

如何你這樣做取決於你。通常,最好使用未來緩存標題和特定文件名來提供不變的文件,例如, jquery-1.11.2.js,儘管在更新到新版本時隨處更新這個過程有點痛苦。這樣你就可以從瀏覽器緩存中使用,但是當文件實際上發生變化時,保證更新。 (因爲您更改了名稱。)

jquery-1.11.2.js可以是您從您自己的服務器或從CDN使用完全限定版本號(例如,使用Google的CDN,它將是//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js;可以是jQuery的[MaxCDN],它將是//code.jquery.com/jquery-1.11.2.min.js)。使用CDN的優點是可能被其他網站使用,因此可能已在處於緩存中(如果沒有,您仍然受益於邊緣緩存);當然也有依靠CDN的缺點。 (如果CDN出現故障,你可以做回退事件,但如果CDN出現故障,故障可能需要一段時間,用戶可能會感到沮喪並離開)但是that doesn't happen very often at all。)

如果你自己服務,考慮捆綁jQuery將所有其他縮小的JavaScript整合到一個文件中,以儘量減少HTTP請求。例如,無論是:

<!-- Using a CDN --> 
<script src="//the-cdn.example.com/path/jquery-1.11.2.min.js"></script> 
<script src="your-site-v23.js"></script> 

<!-- Serving yourself --> 
<script src="your-site-v23-including-jquery.js"></script> 
-3

最好的選擇是當然總是使用最新版本的jQuery,因爲(大部分)所有的更新都是有用的。在完美的世界中,您應該更新您的代碼以與最新版本兼容,但這取決於您和您的時間表/支出。

+0

這是一條評論。 – Andy 2015-01-21 10:34:34

+0

不要因爲第三方欺騙發佈不向後兼容的軟件而篡改代碼。 – 2015-01-21 10:35:08