一、前言
開發vue項目過程中,在development模式下發現在IE10,、IE11中無法運行,打開控制檯發現已經報錯。錯誤信息提示語法錯誤,打開定位到的報錯位置,可以發現是嚴格模式報錯。編譯的代碼中出現嚴格模式可能是因爲代碼中存在es6而沒有被轉換爲es5,而在項目中已經配置了babel;正常情況下是不會出現es6未被轉換的情況的。
由於babel配置採用的是vue官方推薦的或者說vue官方默認的方案,那麼是不是這個方案存在什麼問題呢。
打開vue-cli官方文檔,在其文檔中看到這樣的描述:
可以看到,默認情況下useBuiltIns的值爲usage,而這種情況下如果項目中引入的依賴包需要特殊的polyfill是無法被檢測出來的。那麼可以肯定的是問題出自引用的依賴包中的代碼包含高版本的es語法的特性而沒有被檢測出來進行polyfill。
二、解決方案
要解決這個問題可以通過引入browserslist包含的目標的
所有polyfill。
1、安裝babel/polyfill依賴包,如果已經安裝