无法在React中将图像加载到index.js中

时间:2019-02-16 23:39:00

标签: javascript reactjs image

问题:

渲染代码时,我的图像不会显示。仅当未正确加载图像时,才返回图标。我已经读到我需要将图像添加到公用文件夹中,以便Webpack不会影响路径,但是我不知道如何将其正确添加到公用文件夹中。是此公用文件夹的特殊路径,还是我需要做一些特定的事情来使该文件夹成为公用文件夹?

我尝试了以下方法:

  • 将图像添加到名为“ public”的文件夹,并将文件导入index.js中,如下所示:

    import img from '../../public/myimage.jpg';
    
    <img src={img} />
    
  • ,还尝试将路径直接添加到src中:

    <img src="../../public/myimage.jpg" />
    
  • ,并且我还尝试了将图像与index.js文件放在同一文件夹中的同一路径:

    './myimage.jpg"
    

但是这些努力没有奏效。如何在我的React代码中添加图片?

1 个答案:

答案 0 :(得分:0)

使用public文件夹时,在图像文件名之前附加process.env.PUBLIC_URL。

docs(关于Webpack):

  

如果将文件放入公用文件夹,则不会被   Webpack。而是将其原封不动地复制到构建文件夹中。至   在公共文件夹中引用资产,您需要使用特殊的   变量,称为PUBLIC_URL。

示例:

return <img src={process.env.PUBLIC_URL + '/myimage.jpg'} />;