React.js中的正确图片路径
P粉024986150
2023-08-21 14:24:49
<p>我在我的React项目中遇到了一些关于图片的问题。事实上,我一直以为src属性中的相对路径是基于文件的架构来构建的。</p>
<p>这是我的文件架构:</p>
<pre class="brush:php;toolbar:false;">components
file1.jsx
file2.jsx
file3.jsx
container
img
js
...</pre>
<p>然而,我意识到路径是基于URL来构建的。在我的一个组件中(例如file1.jsx),我有以下代码:</p>
<pre class="brush:php;toolbar:false;">localhost/details/2
<img src="../img/myImage.png" /> -> 正常工作
localhost/details/2/id
<img src="../img/myImage.png" /> -> 不工作,图片无法显示</pre>
<p>如何解决这个问题?我希望在由react-router处理的任何路由形式中,所有图片都能以相同的路径显示。</p>
在
create-react-app
中,似乎无法使用相对路径来引用图片。相反,你可以使用import来引入图片:您正在使用相对URL,它是相对于当前URL而不是文件系统的。您可以通过使用绝对URL来解决此问题
<img src ="http://localhost:3000/details/img/myImage.png" />
但是,当您部署到www.my-domain.bike或任何其他站点时,这并不理想。更好的方法是使用相对于站点根目录的URL
<img src="/details/img/myImage.png" />