问题描述

如下图所示,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‘”相关推荐

  1. 解决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 ...

  2. 接上一篇:【Vue 项目打包后访问报错:Uncaught TypeError: Cannot read property 'call' of undefined】

    上一篇:Vue 项目打包后访问报错:Uncaught TypeError: Cannot read property 'call' of undefined 其实在修改 webpack.prod.co ...

  3. Vscode的vue项目中下滑红线报错问题

    Vscode的vue项目中下滑红线报错问题 1.报错原因 代码存在语法错误(错误并不影响项目的编译运行),并且校验功能是开启状态就会出现下滑红线的报错. 2.解决方法 1)关闭校验 如果项目的校验功能 ...

  4. Vue项目上线后刷新报错404问题(apache,nginx,tomcat)

    一. Vue项目打包发布apache报错: route,配置一个覆盖所有的路由情况 1.需要修改router/index.js中new Router 配置,加一个base: '/htcm_front/ ...

  5. Vue 项目安装 scss 以及报错的解决方法 --- Window10 系统 和 Mac OS 系统

    1. 安装sass依赖 npm install --save-dev sass-loader //sass-loader依赖于node-sass npm install --save-dev node ...

  6. vue项目中的一些报错解决方法

    1.mixed spaces and tabs no-mixed-spaces-and-tabs 禁止使用空格和tab混合缩进:大多数代码约定要求使用空格或 tab 进行缩进.因此,一行代码同时混有 ...

  7. 前端vue项目执行npm install 报错cd() never called()

    前端我刚开始接触Vue,从GitHub上下载了代码程序,但缺少一些插件,用vscode打开并下载插件执行报错cd() never called! 解决的方式 1.执行cmd命令行不要再vscode里执 ...

  8. vue项目引入微信sdk报错记录

    前言 vue项目引入微信sdk $ npm install weixin-js-sdk --save 运行报错如下: npm install weixin-js-sdk --save下载失败显示未配置 ...

  9. 解决maven项目中-Dmaven.multiModuleProjectDirectory报错问题

    maven项目中,在run as  执行maven命令的时候,报错: -Dmaven.multiModuleProjectDirectory system property is not set. C ...

最新文章

  1. MavenSelenium测试自动化教程
  2. mysql主从架构搭建_MySQL主从架构搭建
  3. MySQL 插入、更新、删除、简单检索
  4. es6 --- 用promise对象实现Ajax操作的一个实例
  5. 关于stack 和heap
  6. OracleOraDb11g_home1TNSListener服务无法启动
  7. window.URL对象的使用方式
  8. Git和SourceTree配合使用
  9. jQuery DataTables: How to add a checkbox column
  10. Java 最常见的 200+ 面试题:面试必备 1
  11. Office 2007 Foxit PDF预览器/处理程序
  12. 留学目的地选择之伊利诺伊州
  13. Spark On Yarn --jars/spark.yarn.jars 踩坑 与 提升spark submit速度
  14. 企业公众号运营见效难,如何突围?
  15. 计算机组成原理笔记|03存储系统
  16. python画椭圆形_Python3 tkinter基础 Canvas create_rectangle 画虚边的矩形 create_oval 画椭圆形 圆形...
  17. 《作业疯了》超奇葩游戏挑战你的脑细胞
  18. 将要被人工智能取代的十大职业
  19. 宽带用户接入认证方式浅析
  20. libjpeg用法linux压缩,使用libjpeg对图像进行压缩

热门文章

  1. 浅谈Mysql参数优化
  2. PLSQL中文显示乱码,真正有效的解决方案(无需修改注册表 )
  3. PHP中traits是用来干嘛的?trait的语法,作用,特点。
  4. 阿里云SLB负载均衡配置方法(云起实验室)
  5. ERA5 积雪 降雪 区别_漠河降雪量已达入秋最大级别,北京也迎降温和大风,注意添衣保暖...
  6. 原生android看netflix,现在有四款Android手机支持Netflix HD
  7. Windows Server 2012开启远程桌面服务及授权多终端用户同时登录的详细教程
  8. windows到unbutu过渡-linux目录结构说明
  9. JS入门篇-万物皆对象
  10. 3 个开源日志聚合工具