如何从本地目录加载图像,并将其包含在reactjs img src标签中?

我有一个图像称为one.jpeg在相同的文件夹内作为我的组件,我尝试了<img src="one.jpeg" />和<img src={"one.jpeg"} />在我的renderfunction,但图像不显示。此外,我无法访问webpack配置文件,因为该项目是用官方的create-react-app命令行util创建的。

更新:如果我首先导入图像与导入img从'./one.jpeg'和使用它在img src={img},但我有这么多的图像文件导入,因此,我想使用他们的形式,img src={'image_name.jpeg'}。


当前回答

如果你不想把你的图片放在公共文件夹中,请使用下面的语法

 src={require("../../assets/images/img_envelope.svg").default}

其他回答

首先用{}包装src

如果使用Webpack; 而不是: <img src={"./logo.jpeg"} /> . quot

你可能需要使用require:

<img src={\ require(' logo.jpeg')} />


另一种选择是首先导入图像:

从'./logo.jpeg'导入logo;//导入

还是……

Const logo = require('./logo.jpeg');//使用require

然后插上电源……

<img src={logo} />

我推荐这个选项,特别是在重用映像源的情况下。

把你的图片放在公共文件夹中,或者在公共文件夹中创建一个子文件夹,把你的图片放在那里。 例如:

你把“complete -爬行。jpg”放在公共文件夹中,然后你可以访问它

src={'/completative-reptile.jpg'}

你把complete -爬行.jpg放在public/static/images,然后你可以访问它

src={'/static/images/completative-reptile.jpg'}

我的回答基本上和Rubzen的非常相似。顺便说一句,我使用图像作为对象值。 有两个版本适合我:

{
"name": "Silver Card",
"logo": require('./golden-card.png'),

or

const goldenCard = require('./golden-card.png');
{ "name": "Silver Card",
"logo": goldenCard,

没有包装,但这也是不同的应用。

我也检查了“导入”解决方案,在少数情况下它是有效的(这并不奇怪,这是应用在React中的App.js模式中),但不是在我上面的情况下。

对于我来说,我想调用和使用来自图像文件夹的数组块中的图像。使用“require”方法,并像这样连接“default”,为我解决了这个问题。

在我的slide-data.js页面中:

export const sliderData = [
      {
        image:  require('../../../assets/your-image.jpg').default,
        
        desc: "simple description",
      },

然后,你可以在另一页使用e.g.,这样写

import { sliderData } from "../../slider-data";

{sliderData.map((slide, index) => {
        return (
          <div className="" key={index}>
             <img src={slide.image} alt="slide" className="image overlay " />
          </div>
        );
      })}
import image from './img/one.jpg';

class Icons extends React.Component{
    render(){
      return(
        <img className='profile-image' alt='icon' src={image}/>
    );
    }
}
export default Icons;