和 jQuery 說再見,Bootstrap 5 將移除對其依賴
Bootstrap 最新版本 4.3.0 已釋出( https://blog.getbootstrap.com/2019/02/11/bootstrap-4-3-0/ ),作為 Bootstrap 4.3 釋出的一部分,團隊也公佈了下一個主要版本 Bootstrap 5 的開發計劃。
開發團隊表示在釋出 v4.3 版本後,將會在開發 Bootstrap 5 的過程中實現一些關鍵變化,或許會是重大的變化,而這也將被認為是 Bootstrap 5 的基礎。開發團隊重點提到了以下幾方面:
-
放棄 jQuery:Bootstrap 5 將刪除 jQuery 作為依賴項。開發團隊已經在這方面工作了很長時間,PR 也是處於正在進行中並已接近完成的狀態(https://github.com/twbs/bootstrap/pull/23586)
-
改進開發分支:v3-dev 分支將成為 master 分支;v4-dev 則保持原樣,不過會從該分支切出一個新的 master 分支來開發 v5 版本
-
從 Jekyll 遷移到 Hugo:目前已有一個 PR 正在進行並且已接近完成
(https://github.com/twbs/bootstrap/pull/28014)
移除 jQuery 這個最大的依賴之後,開發團隊表示未來將使用原生的純 JavaScript 來代替 jQuery。這和去年 GitHub 改版重構頁面時移除了 jQuery 的舉措有點像。
當時 GitHub 的前端團隊趁著改版的機會,在重構頁面時乘機移除了其中的 jQuery,並且沒有使用其它框架來代替 jQuery,而是使用原生 JavaScript:
-
用 querySelectorAll 來查詢 DOM 節點
-
使用 fetch 代替 ajax(在不支援的瀏覽器上使用 XHR)
-
使用代理事件來進行事件處理
-
為一些尚未實現的 DOM 標準寫了 polyfill
-
更多地使用自定義元素 (CustomElement)
可以看到,在 Bootstrap 5 中移除 jQuery 這個 PR 從提出到今天已經經歷了一年半的時間,目前包含了 74 個 commits,正處於 Open 的狀態,還有待解決的衝突。