Reactjs React为不正确的路径提供默认内容

Reactjs React为不正确的路径提供默认内容,reactjs,create-react-app,Reactjs,Create React App,我使用CreateReact应用程序来玩react。我注意到,无论我在localhost:3000/这是开发人员机器上的默认url之后键入什么,我总是从localhost:3000获取内容 这意味着我无法访问图像,因此这意味着我无法对其进行任何处理 这是一个bug还是一些我不明白的令人敬畏的新特性?如何关闭此功能?您可以使用 render() { return <img src={process.env.PUBLIC_URL + '/img/logo.png'} />; } 有

我使用CreateReact应用程序来玩react。我注意到,无论我在localhost:3000/这是开发人员机器上的默认url之后键入什么,我总是从localhost:3000获取内容

这意味着我无法访问图像,因此这意味着我无法对其进行任何处理

这是一个bug还是一些我不明白的令人敬畏的新特性?如何关闭此功能?

您可以使用

render() {
  return <img src={process.env.PUBLIC_URL + '/img/logo.png'} />;
}
有关更多信息,请参阅webpack dev服务器的Create React App uses,这意味着所有发出404响应的请求都将返回以加载index.html文件

例如,如果将图像添加到公用文件夹,则可以看到图像优先于index.html文件

您还可以在Webpack的帮助下导入图像,并在代码中使用导入为src,Webpack将确保图像最终位于最终生成文件夹中

import img from './image.png';

您是否正在使用Webpack dev服务器?如何确定是否正在使用它?我认为CreateReact应用程序对我隐藏了所有这些东西。我可能会弹出应用程序,但使用CreateReact应用程序有什么意义?是的,CRA使用它。它只发送index.html,用于所有给出404响应的请求。如果您将图像添加到公用文件夹,您可以按预期使用该图像。您是对的。谢谢你直接指向右边。我改变了配置文件中的标志,我不应该这样做,现在我得到了404。将文件复制到公用文件夹也可以。我可以看到react ppl建议导入图像-我相信它会将文件复制到正确的位置,但我还没有测试它。如果你添加一个答案,我会将其标记为正确。还有一个问题。我将该页面部署到生产中只是为了好玩。它由nginx提供服务,我可以看到与硬重载导致404相同的行为。所以,如果我键入mydomain.com/test-loads索引,如果我在Chrome中按Ctrl+F5,我会得到404。你知道为什么吗?