uni-app的編譯器是基於npm的,依賴了眾多包括mpvue、webpack在內的npm庫,這些庫又引用了一個三方庫caniuser-lite。
caniuser-lite這個庫的代碼里有個瀏覽器兼容數據的更新檢查,過老的數據影響自動補齊css前綴。
開發者平時寫uni-app時並不需要手動補瀏覽器的css前綴,就是因為這個庫在自動補前綴。
Browserslist: caniuse-lite is outdated. Please run next command `npm update caniuse-lite browserslist`
解決方案1,升級 HBuilderX
或 cli
不要用半年前的 HBuilderX
,或 cli
,持續保持升級。(目前 HBuilderX
正式版確實未及時更新導致過期,很快會發更新解決。另外 alpha
版是正常的)
解決方案2,在老版 HBuilderX 下手動升級 caniuse-lite 的 npm 庫
如果不想升級 HBuilderX ,也可在老版下解決問題。
項目是 HBuilderX 創建的
打開 HBuilderX 的安裝目錄, HBuilderX/plugins/uniapp-cli
刪除 node_modules 以及 package-lock.json
在當前目錄執行 npm install
如果你的項目是 cli 創建的,請自行在 cli 環境下升級 npm 包