关于Vue在ie10下空白页的debug小结
发现问题
前几天写的一段Vue,在ie下一片空白,f12显示script1003:expected:。于是就有了这篇文章...
解决过程
baidu、google之,说是json最后一项有多余的逗号,例如
{
a:5,
b:4,//最后一项不能有逗号
}
检索修正所有js文件不表,然而情况依旧。。。
没办法了,祭出无敌睿智debug技巧:全文注释掉,再一行一行解掉注释,终于定位到bug位置:一个自定义右键菜单的插件(v-contextmenu)有问题。。。
继续先前的睿智debug技巧,终于发现,好几个bug。。。
该插件下,所有对象最后一项都有逗号,导致在ie下不兼容
{
a:5,
b:4,//这个逗号要删除
}
该插件的exportdefault语法与ie不兼容(更多关于exportdefault的用法参考这篇文章:https://www.nhooo.com/article/108418.htm)
//ie下不支持这种语法
exportdefault{
bind(){}
}
//必须在外面定义functionbind(){}然后
exportdefault{
bind:bind
}
//特别告诫,下面这种语法在ie中也是不支持的
exportdefault{
bind
}
最重要的,这个插件在一个很隐蔽的地方有这么两行代码
if(condition){
someArray.push({a,b})
}else{
anotherArray.push({a,b})
}
而{a,b}这种语法是ie不支持的,必须改成{a:a,b:b}
一个上午就这么浪费了,你以为我要喷这个插件?我想说,谁用ie谁是狗