我的React项目中的图片有问题。的确,我一直认为src属性的相对路径是建立在文件架构上的
这是我的文件架构:
components
file1.jsx
file2.jsx
file3.jsx
container
img
js
...
但是我意识到路径是建立在URL上的。在我的组件之一(例如到file1.jsx中)中,我有以下内容:
localhost/details/2
<img src="../img/myImage.png" /> -> works
localhost/details/2/id
<img src="../img/myImage.png" /> -> doesn't work, images are not displayed
如何解决这个问题?我希望在react-router处理的任何形式的路由中,所有图像都可以使用相同的路径显示。
将徽标放在您的公共文件夹中,例如public / img / logo.png下,然后将公共文件夹称为%PUBLIC_URL%:
上面的%PUBLIC_URL%的使用将
public
在构建期间替换为文件夹的URL 。public
HTML只能引用文件夹中的文件。与“ /img/logo.png”或“ logo.png”不同,“%PUBLIC_URL%/ img / logo.png”将与客户端路由和非根公共URL一起正常工作。了解如何通过运行来配置非根公共URL
npm run build
。