“options.allowedHosts[0] 应该是一个非空字符串。” 在 ReactJS 中向 package.json 添加代理时

Win*_*eal 19 reactjs

我正在关注 React.js 和 Django Rest Framework 的教程(https://www.youtube.com/watch?v=tYKRAXIio28&ab_channel=DennisIvy),然后在 1:18:10(前端部分)他将其添加proxy包中。 json位于根文件夹中,一切正常。但是当我做同样的事情时,我遇到了一个问题,当我尝试这样做时,npm start它给了我这个错误,

Invalid options object. Dev Server has been initialized using an options object that does not match the API schema.
 - options.allowedHosts[0] should be a non-empty string.
Run Code Online (Sandbox Code Playgroud)

我的package.json看起来像这样

{
  "name": "frontend",
  "version": "0.1.0",
  "proxy": "http://127.0.0.1:8000",
  "private": true,
  "dependencies": {
Run Code Online (Sandbox Code Playgroud)

我尝试自己搜索答案,我发现的最接近的答案是/sf/ask/4927146661/,如您所见,已被作者自愿删除。我发现的另一个是https://gitmemory.cn/index.php/repo/facebook/create-react-app/issues/11762HOST.env文件中谈论有冲突错误(我不太明白,因为我对这个东西还很陌生)。但我没有.env文件

我还尝试过React Proxy error: Could not proxy request /api/ from localhost:3000 to http://localhost:8000 (ECONNREFUSED)通过这样做

"proxy": "http://django:8000",
Run Code Online (Sandbox Code Playgroud)

这似乎没有任何效果。

我已经确认问题确实是代理问题,因为当我删除此行并且应用程序正常运行时,问题不会发生。

我相信 options.allowedHosts 应该设置为一个数组,我不知道该放置什么以及放置在哪里,所以如果您理解这个问题,请友善地详细说明,谢谢。

另外,http://127.0.0.1:8000是我的 Django 后端的本地主机,以防有帮助。

编辑1:尝试过

"proxy": "http://127.0.0.1:8000",
"allowedHosts": [
    "127.0.0.1"
  ],
"private":true,
Run Code Online (Sandbox Code Playgroud)

"proxy": "http://127.0.0.1:8000",
"private":false,
Run Code Online (Sandbox Code Playgroud)

两个都没有工作

太长了; proxypackage.json中破坏了我的 React 应用程序,请发送帮助

注意:这是我第一次在 stackoverflow 上提问,所以如果问题很愚蠢或者我问错了什么,我深表歉意。

小智 15

我面临着同样的问题。但当我没有连接到互联网时,我的问题就存在。当我连接到互联网时,开发服务器使用命令yarn start 或npm start 启动。

  • 我的电脑在重新连接到互联网后开始工作。有点奇怪。这有什么解释吗?谢谢顺便说一句 (3认同)
  • 我可以确认这是在未连接到互联网的情况下发生的! (2认同)