2

Vue-Cli项目中vue-socketio.js在IE浏览器下报SCRIPT1003: 缺少 ':' ,vue-charts 缺少')'

今天用ie打开了我们的Vue项目,结果一片空白
于是赶紧打开F12一探究竟

clipboard.png

9440行,是啥呢,点过去瞅瞅

clipboard.png

clipboard.png

好吧,去main.js里把vue-socket.io注释掉
错误信息变成了缺少')'
经排查,是vue-charts导致的这条报错
那么,vue-socket.io和vue-charts就是罪魁祸首了。

重点来了

一般来说这种错误都是ES6的兼容性问题,比如
fun(){}
fun = () => {}
解决办法如下:
//vue.config.js中添加
transpileDependencies: [
    'vue-socket.io',
    'vue-echarts',
    'resize-detector',
],
//babel.config.js(注意双括号)
module.exports = {
   presets: [[
        '@vue/app',
        {
          useBuiltIns:'entry'
        }
  ]]
}

重新编译,解决!

附:官方文档

transpileDependencies
Type: Array<string | RegExp>

Default: []

默认情况下 babel-loader 会忽略所有 node_modules 中的文件。
如果你想要通过 Babel 显式转译一个依赖,可以在这个选项中列出来。

关于useBuiltIns请参考此篇文章

按需加载polyfill——babel7的正确打开方式


ycsx
75 声望5 粉丝