Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在React中引用本地映像?_Reactjs - Fatal编程技术网

Reactjs 如何在React中引用本地映像?

Reactjs 如何在React中引用本地映像?,reactjs,Reactjs,如何从本地目录加载图像并将其包含在reactjs img src标记中 我的组件所在的文件夹中有一个名为one.jpeg的图像,我在渲染函数中尝试了和,但图像没有显示。此外,我没有访问webpack config文件的权限,因为项目是使用官方create react app命令行util创建的 更新:如果我首先使用import img from./one.jpeg'导入图像,并在img src={img}中使用它,这是可行的,但是我有太多的图像文件要导入,因此,我想以img src={image

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

我的组件所在的文件夹中有一个名为
one.jpeg
的图像,我在
渲染
函数中尝试了
,但图像没有显示。此外,我没有访问
webpack config
文件的权限,因为项目是使用官方
create react app
命令行util创建的


更新:如果我首先使用
import img from./one.jpeg'
导入图像,并在
img src={img}
中使用它,这是可行的,但是我有太多的图像文件要导入,因此,我想以
img src={image\u name.jpeg}
的形式使用它们

您需要将图像源路径包装在
{}

<img src={'path/to/one.jpeg'} />

首先,在
{}

<img src={'path/to/one.jpeg'} />
如果使用网页包; 而不是:

您可能需要使用以下命令:


另一个选项是首先导入图像,如下所示:

从“./logo.jpeg”导入徽标;//使用导入

或者

const logo=require('./logo.jpeg);//需要时

然后把它插上


我建议您使用此选项,尤其是在重复使用图像源时。

最好的方法是先导入图像,然后使用它

import React, { Component } from 'react';
import logo from '../logo.svg';
export default class Header extends Component {
  render() {
    return (
      <div className="row">
        <div className="logo">
          <img src={logo} width="100" height="50" />
        </div>
      </div>
    );
  }
} 
import React,{Component}来自'React';
从“../logo.svg”导入徽标;
导出默认类头扩展组件{
render(){
返回(
);
}
} 
从“/img/one.jpg”导入图像;
类图标扩展了React.Component{
render(){
返回(
);
}
}
导出默认图标;

导入图像的最佳方法是

import React, { Component } from 'react';

// image import
import CartIcon from '../images/CartIcon.png';

 class App extends Component {
  render() {
    return (
     <div>
         //Call image in source like this
          <img src={CartIcon}/>
     </div>
    );
  }
}
import React,{Component}来自'React';
//图像导入
从“../images/CartIcon.png”导入CartIcon;
类应用程序扩展组件{
render(){
返回(
//像这样在源代码中调用图像
);
}
}

我用过这种方法,它很有效。。。我希望你有用

const logofooter = require('../../project-files/images/logo.png');

 return(
 <div className="blockquote text-center">
            <img src={logofooter} width="100" height="80" />
 <div/>
);
const logofooter=require('../../project files/images/logo.png');
返回(
);
从“React”导入React;
从“./img/one.jpg”导入图像;
类映像扩展了React.Component{
render(){
返回(
);
}
}

导出默认图像

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

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

没有包装器-但这也是不同的应用程序


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

public文件夹中创建一个assets文件夹并相应地放置图像路径



正如评论中提到的,您可以将图像放在公用文件夹中。Create React App的文档中也解释了这一点:

我找到了实现这一点的另一种方法(这是一个功能组件):

const Image=({icon})=>{
const Img=require(`./path_to_your_file/${icon}.svg`);
返回
}

希望有帮助

你有两种方法

弗斯特 导入类顶部的图像,然后在

}

}
第1步:
从“/img/icon.png”导入MyIcon

步骤2:

<img
    src={MyIcon}
    style={{width:'100%', height:'100%'}}
/>    

constphoto=require(`.././uploads/images/${obj.photo}`)。默认值;
...

将图像放在公用文件夹中,或在公用文件夹中创建子文件夹并将图像放在那里。 例如:

  • 您将“completative gradive.jpg”放在公用文件夹中,然后您可以作为
  • 您将
    completative gradive.jpg
    放在
    public/static/images
    上,然后您可以作为

  • 对于想要使用多个图像的人来说,一个一个地导入它们当然是个问题。解决方案是将“图像”文件夹移动到公用文件夹。因此,如果您在public/images/logo.jpg上有一个图像,您可以这样显示该图像:

    function Header() {
      return (
        <div>
          <img src="images/logo.jpg" alt="logo"/>
        </div>
      );
    }
    
    函数头(){
    返回(
    );
    }
    
    是,不需要在源代码中使用/public/


    进一步阅读:.

    从“./logo.jpeg”导入徽标;//进口的

    然后把它插上


    就是这样。

    您可以创建一个名为example images.js的文件,并在其中引用您的所有应用程序资源,然后将该组件导入您需要显示图像的所有其他组件中。

    可能的重复请参见我实际上也有类似问题,我的图像已导入index.jsx文件中,我在webpack中有加载程序,编译面工作正常,因为确实在我的server/public/js文件夹中创建了一个带有随机数的图像副本,它的正确路径在bundler中,但我无法可视化图像。同样奇怪的是,当我写到index.js时,它是在server/public/js中生成的,而不是在server/public/img中生成的。注意不要忘记相对url开头的
    。应该是
    这些方法中是否有任何一种会影响图像加载时间之类的性能?如果是这样的话,哪一个在性能方面更好?@除了TL,这里还有一些评论;DR是否,没有性能差异。这里缺少一个事实,即至少在webpack 4中,要使用的加载程序是url加载程序,而不是文件加载程序或以前的加载程序。为什么这是最好的方法?如果需要在同一组件中重用,则可以使用它而无需路径引用。这是一个很好的实践@jasonleach它是一种更干净的方式不支持src/之外的相对导入。要做到这一点,您必须将图像保存在src/中,而src/不是recommended@toing_toing为什么不建议将图像保存在src中?T
    const goldenCard = require('./golden-card.png');
    { "name": "Silver Card",
    "logo": goldenCard,
    
    const Image = ({icon}) => {
       const Img = require(`./path_to_your_file/${icon}.svg`).ReactComponent;
       return <Img />
    }
    
    <img
        src={MyIcon}
        style={{width:'100%', height:'100%'}}
    />    
    
    const photo = require(`../../uploads/images/${obj.photo}`).default;
    ...
    <img src={photo} alt="user_photo" />
    
    src={'/completative-reptile.jpg'}
    
    src={'/static/images/completative-reptile.jpg'}
    
    function Header() {
      return (
        <div>
          <img src="images/logo.jpg" alt="logo"/>
        </div>
      );
    }