1

我已經無數次地搜索了這個問題,從來沒有找到滿意的答案。大多數答案似乎只是說「yes, Bootstrap plugins do require jQuery」或「yes, you can use BS without jQuery if you don't use the plugins」。引導的jQuery的(在他們的quick start描述)的依賴在我看來是一個設計決策較差,至少有以下原因:Bootstrap爲什麼需要jQuery?

  1. jQuery是一個相當大的和臃腫的框架,現在使用BS插件任何網站將有下載它。當然,BS可以使用纖薄的版本(在他們的快速入門頁面中說明),但即使這樣也會增加可觀的加載時間。
  2. 最近jQuery總體上似乎不再受歡迎,因爲像Vue.js和Redux這樣的框架越來越流行(請參閱StackOverflow trends)。我知道老!=糟糕,jQuery在網絡上幾乎無處不在,但爲什麼BS開發人員選擇依賴超過十年的框架?
  3. 在BS之前只需要jQuery爲<script>就可以了,現在的軟件包管理器如NPM,Yarn或Webpack不支持非常明確的依賴關係解決方案。同樣,爲什麼他們不使用某種現代的,基於模塊的依賴?
  4. 但最重要的是,在我看來:爲什麼BS開發人員選擇依賴JS框架?在符合標準的瀏覽器的這個美好時代,jQuery的大部分功能現在可以完成with vanilla HTML/CSS/JS。我們都知道,在創建任何類型的軟件包/庫時,我們應該儘可能在任何可行的情況下移除其他依賴項,因爲用戶想要包裝而不是其他一些附加垃圾。

那麼,是否有一些原因,然後,BS開發人員選擇依賴jQuery,儘管上述所有?我可能可以直接向BS開發人員直接詢問他們的GitHub頁面上的問題,但我希望這些問題能夠讓未來的Google人員更容易地理解SO問題。

+0

它很受歡迎 - 趨勢圖顯示它仍然高於其他框架。 開發者有寫它的經驗。 您只需要它用於Bootstrap的交互式元素。 –

+0

看起來,詢問導致BS開發團隊使用jQuery的動機在這裏是非常關鍵的。爲什麼不問他們? – trincot

+0

這是更多的意見問題,因爲它是目前陷害。您可能可以刪除社論,發泄和咆哮,以提高效率。技術上的原因是他們在Javascript實現中使用了Jquery選擇器,不管它是否依賴。 – User970008

回答

1

在事後很容易判斷(因爲你正在做的相當短視),但早在2011年的jQuery沒有考慮臃腫或過時,並且是提供簡單DOM訪問的主要驗證庫。所以在這種情況下,使用jQuery非常合理。

事實上,6年後,可能還沒有另一個庫具有相同的jQuery的健壯性和功能集。

+0

@Irtialboogie「短視」在這裏是恰當的詞;我沒有意識到自2011年以來BS已經出現了!這幾乎可以解釋它,儘管我很想知道他們今天是否會做出同樣的選擇。然而,這篇文章的普遍共識似乎是我應該直接問他們:P – Rabadash8820

0

Jquery是一個流行的框架工作,很多開發人員都有編寫它的經驗,使他們的文檔更容易消化。它也非常擅長處理javascript呈現的很多跨瀏覽器怪癖。

如果你真的不想使用jQuery,有引導本地: http://thednp.github.io/bootstrap.native/

+1

感謝您的回答!之前我曾遇到過Bootstrap Native,但我總是謹慎使用第三方淘汰賽。儘管如此,它可能值得一試 – Rabadash8820