React Native:开发服务器返回响应错误代码:500

Posted

技术标签:

【中文标题】React Native:开发服务器返回响应错误代码:500【英文标题】:React Native: The development server returned response error code: 500 【发布时间】:2021-09-16 19:12:39 【问题描述】:

我尝试在模拟器上运行我的应用程序,构建已成功完成,但是当应用程序开始捆绑大约 26% 时,此错误会弹出到 cmd:

[Mon Nov 08 2021 13:00:11.720]  BUNDLE  ./index.js

error: TypeError: Cannot read properties of undefined (reading 'reduce')
    at resolveDependencies (C:\Users\iarch\Desktop\Directik App\mobile-v2-new\node_modules\metro\src\DeltaBundler\traverseDependencies.js:586:33)
    at C:\Users\iarch\Desktop\Directik App\mobile-v2-new\node_modules\metro\src\DeltaBundler\traverseDependencies.js:275:33
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (C:\Users\iarch\Desktop\Directik App\mobile-v2-new\node_modules\metro\src\DeltaBundler\traverseDependencies.js:87:24)
    at _next (C:\Users\iarch\Desktop\Directik App\mobile-v2-new\node_modules\metro\src\DeltaBundler\traverseDependencies.js:107:9)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

在模拟器上出现闪屏,然后出现红屏:

我试图用这个版本的节点来解决:

17.0.1
16.13.0
16.10.0
14.18.1

对于每一个,我删除node_modules 文件夹,然后用nvs 更改我的节点版本,然后我运行npm install,但同样的事情发生了。 我该如何解决?

【问题讨论】:

【参考方案1】:

当我们连接 API 并且服务器损坏/关闭时,经常会发现 javascript 代码错误...有用的链接如下我在 Mozila Docx 中找到了帮助 6.6.1. 500内部服务器错误 500(内部服务器错误)状态代码表示服务器遇到了阻止它完成请求的意外情况。参考文件

https://httpwg.org/specs/rfc7231.html#status.500

【讨论】:

【参考方案2】:

你首先需要通过给定的命令安装 react native 社区

npm i @react-native-community/cli

那么你需要安装 react-timer-mixin,因为它们可以帮助我们开发更快的响应服务器

npm install react-timer-mixin

这可能会解决您的问题

【讨论】:

react-timer-mixin 在这种情况下有何用处 如果您包含 TimerMixin,那么您可以用 setTimeout(fn, 500) 替换您对 setTimeout(fn, 500) 的调用,一切都会为您妥善清理。【参考方案3】:

您可以尝试在没有缓存的情况下重新启动捆绑器:

npm start -- --reset-cache

如果这不起作用,您可能需要清除所有内容并从那里重新启动服务器:

watchman watch-del-all && 
rm -rf $TMPDIR/react-native-packager-cache-* &&
rm -rf $TMPDIR/metro-bundler-cache-* && 
rm -rf node_modules/ 
&& npm cache clean --force &&
npm install && 
npm start -- --reset-cache

取自:How to clear react-native cache?


如果没有其他方法,你确定你的代码没有错误吗?

【讨论】:

【参考方案4】:

对我来说,这是由于我在模拟器上运行项目的方式。 如果你只是运行npm run android 并等待捆绑器出现在另一个终端上,试试这个: 打开一个终端并在其上运行 npm start 等待反应徽标出现。 然后打开另一个终端和npm run android。 我不知道为什么,但这对我来说是有效的。

【讨论】:

以上是关于React Native:开发服务器返回响应错误代码:500的主要内容,如果未能解决你的问题,请参考以下文章

React Native:开发服务器返回响应错误码 404

React 本机开发服务器返回响应错误代码:500

分配的响应数据显示 [object object] React Native

Expo - 网络响应超时错误 (create-react-native-app) (Windows 10)

React native 的中继突变返回 400 错误请求?

在 expo/react-native 中发送图像时随机出现“错误处理请求正文”