React应用程序在运行生产构建时崩溃



我可以在本地开发服务器上运行我的react应用程序(带有create-rect应用程序样板(,但当我使用npm run build编译它,然后在服务器上运行它(我尝试了netlify和本地http服务器(时,我只会得到这个错误,页面不会加载:

classCallCheck.js:1 Uncaught RangeError: Maximum call stack size exceeded
at Object.a (classCallCheck.js:1)
at e (Object.js:6)
at e (Object.js:6)
at e (Object.js:6)
at e (Object.js:6)
at e (Object.js:6)
at e (Object.js:6)
at e (Object.js:6)
at e (Object.js:6)
at e (Object.js:6)

Object.js文件位于src/Model/Objects/Object.js.下

GitHub:https://github.com/Tracer1337/DynaSys
在Netlify上部署:https://youthful-mestorf-9e0ba8.netlify.com/

我做错了什么?

这是一个有趣的调试。看起来您已经创建了一个名为Object的类,它是JavaScript中的一个受保护单词。

您可以通过单击错误右侧的源来找出问题的原因。这将打开导致错误的相应文件(默认情况下,create-react-app提供源映射,因此即使在生产中调试也不是问题(。

我通过将Object类重命名为InternalObject解决了这个问题,现在即使在生产模式下,一切都运行良好!

至于为什么它能以受保护的名称在开发模式下工作,我一无所知。也许其他人有主意?

此处留作将来参考。我的React应用程序在生产构建中只在一个特定的屏幕上崩溃,但在开发环境中没有。

使用adb logcat *:E,我设法追踪到一个错误的导入,很可能是由vscode的intelligense从错误的地方导入函数引起的。

我没有执行import { useState } from "react",而是从"react/cjs/react.development"导入useState()函数。有趣的是,来自错误文件的useState()实际上在开发构建中运行得很好(文件名可能是原因的提示(。

相关内容

  • 没有找到相关文章

最新更新