發現問題
前幾天寫的一段Vue,在ie下一片空白,f12顯示script1003: expected :
。于是就有了這篇文章...
解決過程
baidu、google之,說是json最后一項有多余的逗號,例如
{ a: 5, b: 4, // 最后一項不能有逗號 }
檢索修正所有js文件不表,然而情況依舊。。
沒辦法了,祭出無敵睿智debug技巧: 全文注釋掉,再一行一行解掉注釋,終于定位到bug位置: 一個自定義右鍵菜單的插件(v-contextmenu)有問題。。
繼續先前的睿智debug技巧,終于發現,好幾個bug。。
該插件下,所有對象最后一項都有逗號,導致在ie下不兼容
{ a: 5, b: 4, // 這個逗號要刪除 }
該插件的export default語法與ie不兼容(更多關于export default的用法參考這篇文章://www.gxlcms.com/article/108418.htm)
// ie下不支持這種語法 export default { bind() {} } // 必須在外面定義 function bind() {} 然后 export default { bind: bind } // 特別告誡,下面這種語法在ie中也是不支持的 export default { bind }
最重要的,這個插件在一個很隱蔽的地方有這么兩行代碼
if(condition) { someArray.push({ a, b }) } else { anotherArray.push({ a, b }) }
而{ a, b }這種語法是ie不支持的,必須改成{ a: a, b: b }
一個上午就這么浪費了,你以為我要噴這個插件?我想說,誰用ie誰是狗🐶
總結
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com