提问人:Syre Musk 提问时间:11/16/2023 最后编辑:Syre Musk 更新时间:11/17/2023 访问量:65
Next-JS V14.0.2 在部署时崩溃
Next-JS V14.0.2 crashes on deployment
问:
我是 NextJs 的新手,在部署我的 NextJs 应用程序时遇到问题。我有一个测试 NextJs 和 MongoDb 全栈应用程序,我编写它是为了更好地磨练我的技能,它在本地运行良好,但在我将其部署到 vercel 时崩溃并在浏览器控制台中返回两个错误。我已经搜索并搜索了解决方案,但仍然无法解决它,请我需要帮助。
这些错误是;
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'sqrt')
at 155-6322358b00f50a64.js:5:13033
at 155-6322358b00f50a64.js:5:13083
at 54519 (155-6322358b00f50a64.js:5:13152)
at l (webpack-dd3cd49180925084.js:1:152)
at 44155 (155-6322358b00f50a64.js:1:14447)
at l (webpack-dd3cd49180925084.js:1:152)
at 18346 (676-ce2c77460caee114.js:1:36547)
at l (webpack-dd3cd49180925084.js:1:152)
at 15931 (page-9c9c707904a0c6d8.js:1:9713)
at Function.l (webpack-dd3cd49180925084.js:1:152)
和
fd9d1056-614c4d273fc3bb18.js:1 Uncaught Error: Minified React error #423; visit https://reactjs.org/docs/error-decoder.html?invariant=423 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
at iU (fd9d1056-614c4d273fc3bb18.js:1:117435)
at o2 (fd9d1056-614c4d273fc3bb18.js:1:94370)
at fd9d1056-614c4d273fc3bb18.js:1:94192
at o1 (fd9d1056-614c4d273fc3bb18.js:1:94199)
at oV (fd9d1056-614c4d273fc3bb18.js:1:91686)
at oB (fd9d1056-614c4d273fc3bb18.js:1:91111)
at MessagePort.C (472-f9c643575ba72596.js:1:101500)
iU @ fd9d1056-614c4d273fc3bb18.js:1
o2 @ fd9d1056-614c4d273fc3bb18.js:1
(anonymous) @ fd9d1056-614c4d273fc3bb18.js:1
o1 @ fd9d1056-614c4d273fc3bb18.js:1
oV @ fd9d1056-614c4d273fc3bb18.js:1
oB @ fd9d1056-614c4d273fc3bb18.js:1
C @ 472-f9c643575ba72596.js:1
请告诉我,在解决此问题方面有任何帮助,我将不胜感激
答:
几天前我也遇到了这个问题。
在开发模式下,您应该会在控制台上看到一些严重警告(红色)。在生产模式下,您看不到它。它们不会在开发中产生任何问题,即使您运行本地构建也是如此。但在生产中,它被视为错误。您需要在本地修复它们,并在修复所有此类警告后,再次部署它们。
具体来说,我可以看到您的应用程序中有两种类型的错误。
- TypeError:无法读取 undefined 的属性(读取“sqrt”):
在访问对象的任何属性之前,请确保对象不是未定义的。一种方法是使用类似 的运算符。
?
textObject?.property
- 未捕获的错误:缩小的 React 错误 #423;:这是水合作用错误。您应该在开发模式下看到此错误。
解决这些问题并重新部署。希望这应该有效。
评论
我终于能够解决它;
我正在使用有问题的 crypto-js 库,我怀疑是库给了我,所以我寻找了一个替代库,然后在我的代码中有类似情况的任何地方也实现了这一点TypeError: Cannot read properties of undefined (reading 'sqrt')
Be sure an object is not undefined before accessing any of it's properties.One way to do that is to use an ? operator like textObject?.property.
我还将 in 的值从 更改为moduleResolution
tsconfig.json
bundler
node
然后我删除了文件夹,文件夹和文件并重新安装了我所有的软件包.next
node_modules
package-lock.json
您的问题似乎与 Next.js 存储库上报告的问题相同。
将 Next.js 降级到版本 13 为我解决了这个问题。
评论
sqrt
undefined
sqrt
sqrt
node_modules/
package_lock.json