react中引入图片路劲正确但是页面上不显示或者打包后不能正常显示的问题

时间:2021-07-11 05:13:34

一、react中图片引入方式

  以前我们用img引入图片只需要如下即可,在react中这样写会报错:

<img src="../assets/zzsc1.png" />

  

  下面我总结了两种方式:

  1、用require方式引入路劲:     错误用法:

  

<img src={require("./zzsc1.png")} />

  

  上面这样写也是不会生效的,因为如果使用create-react-app和require导入图像,require返回一个ES模块而不是字符串。这是因为在file-loader中,esModule选项是默认启用的。

  所以用以下方式之一导入图像:后面加上.default即可

<img src={require("./zzsc1.png").default} />

  2、通过!important引入

import zzsc from "./zzsc1.png"

   然后在img中直接引入变量即可,这个变量名字可任意取

<img src={zzsc} />

   效果图如下:

react中引入图片路劲正确但是页面上不显示或者打包后不能正常显示的问题

react中引入图片路劲正确但是页面上不显示或者打包后不能正常显示的问题

然而有的时候你开发环境图片显示出来了,但是在打包后部署到测试环境上时会发现,图片又没了,抓耳挠腮,想不明白问题出在哪里。其实很简单,由于部署的时候增加了二级域名,但是打包后的文件l中引入的静态资源路径是从根目录引入的,其实在根域名下并没有这个静态资源,导致引入失败,无法加载,public为根目录,在打包时只能检索到你public文件夹下的图片,所以在放图片素材的时候,图片位置也非常重要!统一都放到public文件下即可。上代码:

<img src='images/zzsc2.png' />

react中引入图片路劲正确但是页面上不显示或者打包后不能正常显示的问题