我已經無數次地搜索了這個問題,從來沒有找到滿意的答案。大多數答案似乎只是說「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?
- jQuery是一個相當大的和臃腫的框架,現在使用BS插件任何網站將有下載它。當然,BS可以使用纖薄的版本(在他們的快速入門頁面中說明),但即使這樣也會增加可觀的加載時間。
- 最近jQuery總體上似乎不再受歡迎,因爲像Vue.js和Redux這樣的框架越來越流行(請參閱StackOverflow trends)。我知道老!=糟糕,jQuery在網絡上幾乎無處不在,但爲什麼BS開發人員選擇依賴超過十年的框架?
- 在BS之前只需要jQuery爲
<script>
就可以了,現在的軟件包管理器如NPM,Yarn或Webpack不支持非常明確的依賴關係解決方案。同樣,爲什麼他們不使用某種現代的,基於模塊的依賴? - 但最重要的是,在我看來:爲什麼BS開發人員選擇依賴JS框架?在符合標準的瀏覽器的這個美好時代,jQuery的大部分功能現在可以完成with vanilla HTML/CSS/JS。我們都知道,在創建任何類型的軟件包/庫時,我們應該儘可能在任何可行的情況下移除其他依賴項,因爲用戶想要包裝而不是其他一些附加垃圾。
那麼,是否有一些原因,然後,BS開發人員選擇依賴jQuery,儘管上述所有?我可能可以直接向BS開發人員直接詢問他們的GitHub頁面上的問題,但我希望這些問題能夠讓未來的Google人員更容易地理解SO問題。
它很受歡迎 - 趨勢圖顯示它仍然高於其他框架。 開發者有寫它的經驗。 您只需要它用於Bootstrap的交互式元素。 –
看起來,詢問導致BS開發團隊使用jQuery的動機在這裏是非常關鍵的。爲什麼不問他們? – trincot
這是更多的意見問題,因爲它是目前陷害。您可能可以刪除社論,發泄和咆哮,以提高效率。技術上的原因是他們在Javascript實現中使用了Jquery選擇器,不管它是否依賴。 – User970008