问题描述
<img src="../assets/imgs/logo-qq.svg" alt="here is a logo"/>
时,无法加载图片
//index.js
ReactDOM.render(
<>
<img src="../assets/imgs/logo-qq.svg" alt="here is a logo"/>
</>,
document.querySelector("#root")
)
background-image:url(../assets/imgs/logo-qq.svg)
时,可以加载图片
import "./index.css";
ReactDOM.render(
<>
<span id="logo"></span>
</>,
document.querySelector("#root")
)
#logo{
background-image:url(../assets/imgs/logo-qq.svg);
background-repeat: no-repeat;
display: inline-block;
width: 32px;
height: 32px;
}
问题分析
webpack递归解析依赖的过程中,没有将img[src]
引用的图片计入依赖项。
解决方法
如果必须使用img[src]来引用图片的话,可以采用如下方式:
import logo from "../assets/imgs/logo-qq.svg";
ReactDOM.render(
<>
<img src={logo} alt="here is a logo"/>
</>,
document.querySelector("#root")
)
附源码。