首页 > 解决方案 > Webpack 错误 - 未捕获的 SyntaxError: 无效的正则表达式: /[\n\r\u2028\u2029]/: 正则表达式太大

问题描述

不知道发生了什么,突然 Webpack 在 npm start 的开发服务器上抛出以下错误。React 脚本的 webpack 配置没有任何变化:

未捕获的 SyntaxError: 无效的正则表达式: /[\n\r\u2028\u2029]/: 正则表达式太大

该错误来自chunk.js,这不是我在开发过程中触及的内容,它具有以下行:

var reNewLine = /[\n\r\u2028\u2029]/g;

我尝试删除和重新安装节点模块,升级降级的 React 和 react-scripts 以及 react dom,我尝试使用 nvm 切换节点版本,我尝试恢复到我知道应用程序正在加载的早期分支提交美好的。没有任何效果。正在处理应用程序组件,然后这个错误开始随机弹出。

帮助!!!哈哈

更新

因此,我尝试在一个月前的特定提交上从 Github 拉下我的代码库的早期版本,在我推送它之前我知道它实际上正在工作,但我仍然从 webpack 收到相同的错误,这告诉我这是一个环境问题。我试过清理 npm 缓存,删除 package-lock.json 和 package.json,重新安装 node_modules。我尝试使用 nvm 更改节点版本,使用完全其他不同版本的节点,仍然从 Chrome 中的 webpack 收到相同的错误。

有任何想法吗?

Chrome 控制台错误截图

更新 2

我降级了我的 react、react-dom 和 react 脚本版本。

“反应”:“17.0.1”,“反应域”:“17.0.1”,“反应脚本”:“4.0.1”

现在我从 webpack 得到同样的错误(正则表达式模式太大),但是对于不同的正则表达式模式。不知道这些正则表达式的用途,而不是我写的东西。

在此处输入图像描述

更新 3

所以我确认这是在 Chrome 版本 95 中进行开发时的一个问题。我将我的代码库拉到另一台安装了 Chrome 版本 91 的计算机上。我的应用程序运行良好。升级后,正则表达式错误也开始出现在该计算机上。对于最新版 Chrome 的 webpack 来说,这是一个重大变化。

奇怪的是,当我几个月前启动该应用程序的骨架版本时,同样的正则表达式仍然有效。没有意义。

标签: node.jswebpackcreate-react-appwebpack-dev-serverreact-scripts

解决方案


推荐阅读