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