解决Vue项目在iOS 10 报错 “Cannot declare a let variable twice: ‘r‘”
问题描述
如下图所示,H5页面在iPhone7P及IPhone5c(iOS 10)手机上打开白屏,使用vconsole查看报错原因是Cannot declare a let variable twice: 'r'
问题定位
原因是由于ios10的bug,按报错的描述来看原因是“变量不能被let声明两次”,但其实仔细review代码,并没有出现这种情况。
尝试一
一开始想到的最简单的方式,就是找到对应的模块,将所有的let
修改为var
,但是没有起作用。
尝试二
按照网上的解决方案,修改webpack的配置,引入uglifyjs-webpack-plugin
,但还是不生效
尝试三
博主的项目,vue-cli版本是3.3.0,webpack的版本是4.41.4,在尝试修改uglifyPlugin
不生效后,以为是webpack版本原因,需要使用terser-webpack-plugin
,结果发现还是不生效,并且使用vue inspect
查看项目最终生成的webpack配置,terserPlugin
确实有修改成功
尝试四
反复尝试网上的方案,修改配置无果后,博主想到之前也解决过iOS9白屏的问题,或许这两个报错的根本原因都是一样的,由于引入的库中的es6的语法所引起的。于是一点点定位导致报错的代码,发现确实是由于引入的地图库导致的,于是按照之前的解法,配置transpileDependencies
,将引入的库进行babel显示转译。一行配置,问题迎刃而解!!!
具体解决方案
vue.config.js里面配置
transpileDependencies: [/[/\\]node_modules[/\\](.+?)?依赖库的名称/],
根本原因还是在于依赖库里面出现了iOS10不支持的语法形式,所以需要对其进行转义
参考
解决Vue项目在iOS 9 报错 “SyntaxError: Unexpected keyword ‘const‘. Const…”
ios10兼容问题: Cannot declare a let variable twice: ‘e’.
Safari10 wap 兼容性问题
解决Vue项目在iOS 10 报错 “Cannot declare a let variable twice: ‘r‘”相关推荐
- 解决vue项目build的时候报错Warning: Accessing non-existent property ‘cat‘ of module exports inside circular de
* 正在执行任务: npm run build > selection-tool@1.0.0 build > node build/build.js - building for pro ...
- 接上一篇:【Vue 项目打包后访问报错:Uncaught TypeError: Cannot read property 'call' of undefined】
上一篇:Vue 项目打包后访问报错:Uncaught TypeError: Cannot read property 'call' of undefined 其实在修改 webpack.prod.co ...
- Vscode的vue项目中下滑红线报错问题
Vscode的vue项目中下滑红线报错问题 1.报错原因 代码存在语法错误(错误并不影响项目的编译运行),并且校验功能是开启状态就会出现下滑红线的报错. 2.解决方法 1)关闭校验 如果项目的校验功能 ...
- Vue项目上线后刷新报错404问题(apache,nginx,tomcat)
一. Vue项目打包发布apache报错: route,配置一个覆盖所有的路由情况 1.需要修改router/index.js中new Router 配置,加一个base: '/htcm_front/ ...
- Vue 项目安装 scss 以及报错的解决方法 --- Window10 系统 和 Mac OS 系统
1. 安装sass依赖 npm install --save-dev sass-loader //sass-loader依赖于node-sass npm install --save-dev node ...
- vue项目中的一些报错解决方法
1.mixed spaces and tabs no-mixed-spaces-and-tabs 禁止使用空格和tab混合缩进:大多数代码约定要求使用空格或 tab 进行缩进.因此,一行代码同时混有 ...
- 前端vue项目执行npm install 报错cd() never called()
前端我刚开始接触Vue,从GitHub上下载了代码程序,但缺少一些插件,用vscode打开并下载插件执行报错cd() never called! 解决的方式 1.执行cmd命令行不要再vscode里执 ...
- vue项目引入微信sdk报错记录
前言 vue项目引入微信sdk $ npm install weixin-js-sdk --save 运行报错如下: npm install weixin-js-sdk --save下载失败显示未配置 ...
- 解决maven项目中-Dmaven.multiModuleProjectDirectory报错问题
maven项目中,在run as 执行maven命令的时候,报错: -Dmaven.multiModuleProjectDirectory system property is not set. C ...
最新文章
- MavenSelenium测试自动化教程
- mysql主从架构搭建_MySQL主从架构搭建
- MySQL 插入、更新、删除、简单检索
- es6 --- 用promise对象实现Ajax操作的一个实例
- 关于stack 和heap
- OracleOraDb11g_home1TNSListener服务无法启动
- window.URL对象的使用方式
- Git和SourceTree配合使用
- jQuery DataTables: How to add a checkbox column
- Java 最常见的 200+ 面试题:面试必备 1
- Office 2007 Foxit PDF预览器/处理程序
- 留学目的地选择之伊利诺伊州
- Spark On Yarn --jars/spark.yarn.jars 踩坑 与 提升spark submit速度
- 企业公众号运营见效难,如何突围?
- 计算机组成原理笔记|03存储系统
- python画椭圆形_Python3 tkinter基础 Canvas create_rectangle 画虚边的矩形 create_oval 画椭圆形 圆形...
- 《作业疯了》超奇葩游戏挑战你的脑细胞
- 将要被人工智能取代的十大职业
- 宽带用户接入认证方式浅析
- libjpeg用法linux压缩,使用libjpeg对图像进行压缩
热门文章
- 浅谈Mysql参数优化
- PLSQL中文显示乱码,真正有效的解决方案(无需修改注册表 )
- PHP中traits是用来干嘛的?trait的语法,作用,特点。
- 阿里云SLB负载均衡配置方法(云起实验室)
- ERA5 积雪 降雪 区别_漠河降雪量已达入秋最大级别,北京也迎降温和大风,注意添衣保暖...
- 原生android看netflix,现在有四款Android手机支持Netflix HD
- Windows Server 2012开启远程桌面服务及授权多终端用户同时登录的详细教程
- windows到unbutu过渡-linux目录结构说明
- JS入门篇-万物皆对象
- 3 个开源日志聚合工具