vue报错:SyntaxError: Unexpected keyword 'const'. Const declarations are not supported in strict mode

使用vue-cli搭建的项目,在安卓上页面展示正常,在iphone10以上系统上显示也正常的,但是在iphone9.3的系统上,页面一片空白,body里只有一句<div id="app"></div>
使用safari调试后发现有2条报错信息,报错内容如下:

SyntaxError: Unexpected keyword 'const'. Const declarations are not supported in strict mode

意思是说,const这个在严格模式下,不支持,网上搜索了答案,说是webpack-dev-server版本高于2.7.1时,在打包编译时不会把es6转es5,所以系统版本较低时会出错。
然后参照网上的方法,把webpack-dev-server降级

npm i webpack-dev-server@2.7.1

之后页面上的报错信息变成了一条,但是报错的内容还是上面那句话,最后仔细看了下报错的文件,是还个dateData.js文件里面使用了const定义常量,这个dateData文件是在:node_modules/vue-pickers/lib/dateData.js
把里面的const改成了var后,继续调试,ios9.3下还是一片空白,但是报错信息不是const了,是let定义有问题,于是把这个文件里面的let也换成了var,页面就出来了

说明:这个文件是我自己创建的,此文件同级目录下还有组件自带的一个areaData.js文件,里面也用const和let定义了变量,但是不会报错,我猜估计是这个组件编译过,但是我自己创建的文件没有所以es6的语法在低系统不支持。

另外:需要将项目里package.json文件里的"babel-preset-stage-2": "^6.22.0",改成

"babel-preset-es2015": "^6.22.0",

并安装下babel-preset-es2015
参考地址:https://github.com/mrdulin/blog/issues/35

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值