簡體   English   中英

為什么人們必須在同一頁面上使用多個版本的jQuery?

[英]Why do people have to use multiple versions of jQuery on the same page?

我注意到有時人們必須在同一頁面中使用多個版本的jQuery(參見問題1問題2 )。 我假設人們必須攜帶舊版本的jQuery,因為它們的一些代碼基於舊版本的jQuery。 顯然,這種方法會導致效率低下。 理想的解決方案是重構舊代碼以使用更新的jQuery API。 我想知道是否有工具可以自動升級一段代碼以使用更新版本的jQuery。 我從來沒有用Javascript或jQuery編寫程序。 所以,我想聽聽有這些語言經驗的程序員關於他們對這個問題的看法。 特別是,我想知道以下內容。

  1. 加載多個版本的jQuery需要多少問題?
  2. 您是否曾經在同一頁面中加載任何其他庫的多個版本?
  3. 您是否知道任何可以幫助您遷移代碼以使用更新的API的重構工具?
  4. 你認為這樣的重構工具是否有用? 你願意用嗎?

請不要認為這個問題已經結束。 目前的回復已經讓我對可用於升級jQuery代碼的過程和工具有了很好的了解。 但是,請隨意添加自己的升級jQuery代碼的經驗。

你的問題都很重要。 但是根據我的個人經驗,除了第一個版本中的一些問題,這些問題在遷移到后來的版本之后發生。 幾乎你不應該遇到任何問題,除非你寫的代碼有問題而不是jquery。

我沒有看到任何合適的js開發人員同時使用兩個不同的版本。

JQuery現在本身為稱為qunit的單元測試提供了一個非常好的api。 如果你開始實現測試功能,你應該確保你的代碼無縫地工作。

我將QUnit用於繁重的項目。 這可能需要很多ajax請求等等。當然,將它用於幾個動畫等並不值得。

我希望這些信息對你有用

忽略可以使用JQuery執行此操作的事實,使用任何API的2個版本是不尋常的並且容易出錯。 這是一種罕見的做法,但至少對於JQuery來說,它已經完成了。

如果我正在評估新項目的供應商組件並且需要更舊的庫,那么在投資該組件之前我會三思而后行。 提供需要舊版本的工具的供應商是以下之一:

1)非常謹慎和穩定(良好)

2)速度不快(不太好)

3)資源不足(壞)

4)沒有動力更新他們的工具,因為沒有足夠的人要求該工具(非常糟糕)

當然(5)可能是他們的工具非常好而且他們擁有如此龐大的客戶群,他們覺得不需要更新它。 就目前而言,這是可以的,並最終回到其他問題之一。

我使用足夠多的第三方工具來了解有時候,一個工具做得很好,無論如何我都會選擇它,但總的來說,我想要一個工具成為新項目的最新工具。 有很多“夜間飛行”的供應商在那里只是沒有維護他們的產品而且在你要求支持或新功能之前你找不到它。

我有時也在同一頁面上使用兩個版本的jQuery,但原因不同。 這是在頁面上作為第三方窗口小部件運行的代碼; 在這種情況下,您不能指望存在的任何庫的特定版本。

如果在這樣的代碼中需要一個像jQuery這樣的庫,最安全的是加載你的版本並執行諸如myNamespace.jQ = jQuery.noConflict(true)這樣的事情,這樣你就可以擁有一個你可以依賴的命名空間的獨立版本,與頁面的其余部分分離。

這樣,如果該頁面更改了代碼,您的第三方代碼就不會受到影響。 在這種情況下,通過消除其他人代碼中對庫版本的可能依賴性,我認為使用多個jQuery版本實際上有助於重構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM