我是ReactJS的新手,我想在一个组件中导入图像。这些图像在公用文件夹内,我不知道如何从react组件访问文件夹。

有什么想法吗?

EDIT

我想在Bottom.js或Header.js中导入一个图像

结构文件夹为:

我不使用webpack。我应该吗?

编辑2

我想使用webpack来加载图像和其他资产。所以在我的配置文件夹中,我有下面的文件:

我需要在哪里添加图像的路径,如何添加?

谢谢


当前回答

react文档很好地解释了这一点,你必须使用process.env。PUBLIC_URL,图像放在公共文件夹中。更多信息请看这里

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

其他回答

你也可以用这个…它的工作假设'yourimage.jpg'是在你的公共文件夹。

<img src={'./yourimage.jpg'}/>

试试这个简单易行的方法

不要在src中创建Image文件夹。 在公共场所制作一个图像文件夹。 你工作在反应引导安装

NPM安装反应引导 import React from 导入“引导/ dist / css / bootstrap.min.css”; import {Image} from 'react-bootstrap'; 导出默认函数Main() { 回报( <> <Image src="/img/ Image .jpg/100px250" alt="bg Image " fluid /> . </> ) }

希望它已经完成了

一个简单的解决方案是使用这样的路径:/images/logoFooter.png。如果文件直接位于公用文件夹下,执行/someImage.png。你可以深入/x/y/z/image.png。将图像的定位部分视为该图像的绝对位置。

欲了解更多信息,请访问https://create-react-app.dev/docs/using-the-public-folder/。

如果你想把你的javascript文件从公共文件夹添加到react,把特定的文件放在公共文件夹的index.html文件中。你的问题会解决的。

1-如果你使用webpack进行配置是很好的,但你可以简单地使用image path, react会发现它在公共目录中。

<img src="/image.jpg">

2-如果你想使用webpack,这是React的标准做法。 你可以在webpack.config.dev.js文件中使用这些规则。

module: {
  rules: [
    {
      test: /\.(jpe?g|gif|png|svg)$/i,
      use: [
        {
          loader: 'url-loader',
          options: {
            limit: 10000
          }
        }
      ]
    }
  ],
},

然后你可以在react组件中导入图像文件并使用它。

import image from '../../public/images/logofooter.png'

<img src={image}/>