我是ReactJS的新手,我想在一个组件中导入图像。这些图像在公用文件夹内,我不知道如何从react组件访问文件夹。
有什么想法吗?
EDIT
我想在Bottom.js或Header.js中导入一个图像
结构文件夹为:
我不使用webpack。我应该吗?
编辑2
我想使用webpack来加载图像和其他资产。所以在我的配置文件夹中,我有下面的文件:
我需要在哪里添加图像的路径,如何添加?
谢谢
我是ReactJS的新手,我想在一个组件中导入图像。这些图像在公用文件夹内,我不知道如何从react组件访问文件夹。
有什么想法吗?
EDIT
我想在Bottom.js或Header.js中导入一个图像
结构文件夹为:
我不使用webpack。我应该吗?
编辑2
我想使用webpack来加载图像和其他资产。所以在我的配置文件夹中,我有下面的文件:
我需要在哪里添加图像的路径,如何添加?
谢谢
当前回答
如果你想把你的javascript文件从公共文件夹添加到react,把特定的文件放在公共文件夹的index.html文件中。你的问题会解决的。
其他回答
一个简单的解决方案是使用这样的路径:/images/logoFooter.png。如果文件直接位于公用文件夹下,执行/someImage.png。你可以深入/x/y/z/image.png。将图像的定位部分视为该图像的绝对位置。
欲了解更多信息,请访问https://create-react-app.dev/docs/using-the-public-folder/。
我们知道React是SPA。所有内容都由根组件渲染 从JSX扩展到适当的HTML。
所以你想在哪里使用这些图像并不重要。最佳实践是使用绝对路径(参考public)。不担心相对吗 路径。
在你的例子中,这应该在任何地方都适用:
”。/图片/ logofooter.png”
你不需要任何webpack配置。
在你的组件中,只需要给出图像路径。React会知道它在公共目录中。
<img src="/image.jpg" alt="image" />
react文档很好地解释了这一点,你必须使用process.env。PUBLIC_URL,图像放在公共文件夹中。更多信息请看这里
return <img src={process.env.PUBLIC_URL + '/img/logo.png'} />;
如果你想把你的javascript文件从公共文件夹添加到react,把特定的文件放在公共文件夹的index.html文件中。你的问题会解决的。