首页  >  问答  >  正文

React.js中的正确图片路径

<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>
P粉024986150P粉024986150396 天前549

全部回复(2)我来回复

  • P粉509383150

    P粉5093831502023-08-22 00:48:37

    create-react-app中,似乎无法使用相对路径来引用图片。相反,你可以使用import来引入图片:

    import logo from './logo.png' // 图片的相对路径
    
    class Nav extends Component { 
        render() { 
            return ( 
                <img src={logo} alt={"logo"}/> 
            )  
        }
    }

    回复
    0
  • P粉478188786

    P粉4781887862023-08-22 00:46:47

    您正在使用相对URL,它是相对于当前URL而不是文件系统的。您可以通过使用绝对URL来解决此问题

    <img src ="http://localhost:3000/details/img/myImage.png" />

    但是,当您部署到www.my-domain.bike或任何其他站点时,这并不理想。更好的方法是使用相对于站点根目录的URL

    <img src="/details/img/myImage.png" />

    回复
    0
  • 取消回复