React踩坑:Invalid regular expression: invalid group specifier name
REACT开发中,打包后的JS不支持双斜线正则,Invalid regular expression: invalid group specifier name
报出这个错误的原因有两点:
- 正则格式不对
改错过程:
let regExp = /....../g;
// 修改
let regExp = new RegExp("......", 'g');
注意:
1.\d等元字符改为\\d
2.+ 不需要转义
-
目前ios,mac不支持零宽断言
也就是说不支持前后向声明,IOS环境下, 包括macOS的 safari上。
当更改所有正则后,还是报出这个错误,找了原因发现是因为,react脚手架
create-react-app
生成的serviceWorker.js
文件。里面有一个双斜线的正则,这个文件可以删除。同步修改App.js中的引入即可解决。这个文件可以使用也可以不使用,使用它可以使你的react项目变成一个PWA(Progressive Web Application), 也就是说,在线上,只要访问过一次你的网站,下一次即使没有网络,这个应用依然可以被访问。