Angular 使用 Browserslist 處理瀏覽器相容性問題
Angular 瀏覽器相容性設定
Angular 官方文件有這一段說明 Configuring browser compatibility 。
其實大家都看過,但是很少人會留意,到底自身的專案應該要怎麼設定會比較好,
假設 .browserslistrc
設定如下:
1 | >0.3%, |
Browserslist 有提供線上工具 https://browsersl.ist/ 可以輸入設定後,查看各瀏覽器相容的狀況。
即使我們早就曉得專案可以透過 .browserslistrc
進行設定,但還是經常會被客戶使用比較舊的裝置而遇到bug的狀況。
照上述的設定來看,手機裝置 Chrome for Android 支援程度是 109 版本以上,但客戶目前其實還有在使用 Android 9 進行瀏覽網頁還是大有人在,因此如果工程師有使用到 globalThis 這樣子的全域變數,往往不自覺就造成線上問題了。
所以,在開出新專案時,可以改用年份
取代裝置版本
,舉例:
1 | since 2018-01, not dead |
“since 2018-01”:
這部分指定專案要支援的瀏覽器的最早版本從 2018 年 1 月開始的瀏覽器版本。你的前端代碼將為 2018 年 1 月或之後版本的瀏覽器進行優化和支援。
“not dead”:
代表不需要支援已經被廢棄瀏覽器版本,例如 IEMustDie
XD。
總而言之,當遇到語法相容性問題十,除了找尋對應的 polyfills
外,也許可以檢查一下 angular 專案裡的 .browserslistrc
這隻檔案,也許調整這邊的內容,會比加入不同功能的 polyfills 設定來得方便。