[英]When running a production build of my react app, res.data returns html instead of a token
[英]React App crashes when running the production build
我可以在本地開發服務器上完美地運行我的 react-app(使用 create-react-app 樣板),但是當我使用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 的智能感知從錯誤的地方導入了一個函數。
我沒有import { useState } from "react"
執行import { useState } from "react"
而是從"react/cjs/react.development"
導入useState()
函數。 有趣的是,錯誤文件中的useState()
在開發版本中實際上工作得很好(文件名可能暗示了原因)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.