Gez*_*ker 1 reactjs create-react-app
我们的 DevOps 团队通知我们,他们将把所有服务器升级到 Node 18。但是我们的应用程序只能在 Node 16 上正常工作。所以我将 CRA 升级到最新版本,一开始看起来还不错。但随后随机的“未捕获的运行时错误”覆盖消息开始在开发模式下弹出。它们是完全随机的,当我单击链接时,有时它会显示,下次它不会显示。根据错误信息我无法找到问题的根源。留言总是这样的:
\nUncaught runtime errors:\n\xc3\x97\nERROR\nCancel\n at handleError (http://localhost:3000/static/js/bundle.js:614149:58)\n at http://localhost:3000/static/js/bundle.js:614172:7\nRun Code Online (Sandbox Code Playgroud)\n当我查看控制台时,它是这样的:
\nUncaught (in promise) \nCancel {message: undefined}\nmessage: undefined\n[[Prototype]]: Object\nRun Code Online (Sandbox Code Playgroud)\n当我查看bundle.js 中的指定行时,它们是这样的:
\n捆绑.js:614149:58
\nvar handleError = function handleError(error, fallbackMessage) {\n **var errorObject = error instanceof Error ? error : new Error(error || fallbackMessage);**\n var shouldDisplay = typeof options.catchRuntimeError === "function" ? options.catchRuntimeError(errorObject) : true;\n if (shouldDisplay) {\n overlayService.send({\n type: "RUNTIME_ERROR",\n messages: [{\n message: errorObject.message,\n stack: (0,_overlay_runtime_error_js__WEBPACK_IMPORTED_MODULE_1__.parseErrorToStacks)(errorObject)\n }]\n });\nRun Code Online (Sandbox Code Playgroud)\n捆绑包.js:614172:7
\n(0,_overlay_runtime_error_js__WEBPACK_IMPORTED_MODULE_1__.listenToUnhandledRejection)(function (promiseRejectionEvent) {\n **var reason = promiseRejectionEvent.reason;**\n handleError(reason, "Unknown promise rejection reason");\n });\nRun Code Online (Sandbox Code Playgroud)\n
最后我找到了问题的根源。最新版本的 webpack-dev-server 有一个新功能,被描述为“覆盖显示未处理的承诺拒绝”。这是导致问题的原因,降级到以前的版本解决了它。
npm install webpack-dev-server@4.14.0 --save --save-exact --save-dev
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4110 次 |
| 最近记录: |