反应脚本无效的主机标头

bea*_*tte 4 reactjs

我使用react-create-app创建了一个应用程序,我只是使用npm start开发它,这似乎是根据我的package.json进行react-scripts启动

每当我向 package.json 添加代理时,我都会收到以下错误消息:

Invalid Host header
Run Code Online (Sandbox Code Playgroud)

我明白了,这是一个安全问题。我不明白的是如何解决它。我在 github 和 QA 上阅读了几个关于这个主题的问题,修复很简单,但我仍然不知道把它放在哪里

最后,我会添加一个主机白名单。我想我看到了这是可能的。

但我该在哪里开始配置:

devServer: {
  disableHostCheck: true
}      
Run Code Online (Sandbox Code Playgroud)

Sam*_*ala 14

禁用主机检查的另一种方法是设置以下环境变量:DANGEROUSLY_DISABLE_HOST_CHECK=true

例如,可以通过将该行添加到.env项目根目录中的文件来完成。请注意,这不是一个安全的解决方案,不应在生产中使用。

  • 如果您只想从第二台机器进行开发测试,那么这是一种比公认的答案侵入性更小的方法。在生产中不需要禁用主机检查,因为您不应该在生产中使用开发版本。 (2认同)

Mus*_*Zia 5

您可以在不更改内部内容的情况node_modules下管理它,也可以使用名为“react-app-rewired”的 npm 包弹出项目来管理它。

它基本上有一个选项可以覆盖样板设置内的 webpack 默认硬编码设置create-react-app

您将 . 放入config-overrides.js根文件夹中,并更改其中的脚本package.json以匹配react-app-rewired而不是react-scripts. 这样,您就可以通过将其写在文件中来覆盖 React 项目中硬编码的所有 Webpack 配置config-overrides.js

语法位于此链接内。还有一篇关于它的文章可以在这里找到。