问题:这个项目是pc端直接适配到移动端的 在上线使用之后呢 发现有的苹果手机打开是空白页面
经过排查发现手机的系统较高的可以打开稍微低一点的就不可以
然后就利用 vConsole 调试工具来查看报错信息 我是在 index.html 文件里面加的 cdn 方式引入
<script src="https://cdn.bootcss.com/vConsole/3.15.1/vconsole.min.js"></script>
<script>
const vCosole = new window.VConsole()
</script>
在打开空白的页面调试 报错信息为 SyntaxError:Invalid regular expression: invalid group specifier name
原因说是:打包后的js不支持原生的双斜线格式的正则 // Safari浏览器会在某个正则规则下无法解析出来
本来有一个正则的js文件里面是用//写的 需要修改new RegExp('')的形式
export const strictPhone = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
export const strictPhone = new RegExp('^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$');
首先 \d 要写成 \\d 然后使用 new RegExp('')的形式
注意除了这个js文件中的正则 一些文字替换什么的可能也使用了正则 都是需要改过来的(这个项目中用户姓名的显示我就使用了正则没有发现 导致改了之后 还有会报错 最后全部都改好了之后 这个报错就解决啦)