Vue在ie10下空白頁的debug小記

前幾天寫的一段Vue,在ie下一片空白,f12顯示script1003: expected :javascript

baidu、google之,說是json最後一項有多餘的逗號,例如java

{
  a: 5,
  b: 4, // 最後一項不能有逗號
}

檢索修正全部js文件不表,然而狀況依舊。。。
沒辦法了,祭出無敵睿智debug技巧: 全文註釋掉,再一行一行解掉註釋,終於定位到bug位置: 一個自定義右鍵菜單的插件(v-contextmenu)有問題。。。json

繼續先前的睿智debug技巧,終於發現,好幾個bug。。。google

  1. 該插件下,全部對象最後一項都有逗號,致使在ie下不兼容
{
  a: 5,
  b: 4, // 這個逗號要刪除
}
  1. 該插件的export default語法與ie不兼容
// ie下不支持這種語法
export default {
  bind() {}
}
// 必須在外面定義 function bind() {} 而後
export default {
  bind: bind
}

// 特別告誡,下面這種語法在ie中也是不支持的
export default {
  bind
}
  1. 最重要的,這個插件在一個很隱蔽的地方有這麼兩行代碼
if(condition) {
  someArray.push({ a, b })
} else {
  anotherArray.push({ a, b })
}

{ a, b }這種語法是ie不支持的,必須改爲{ a: a, b: b }插件

一個上午就這麼浪費了,你覺得我要噴這個插件?我想說,誰用ie誰是狗🐶debug

相關文章
相關標籤/搜索