What happens?
最近项目里用上了qiankun,子应用单独加载url()中的图片加载正常,但是当子应用在主应用中加载的时候url()中的图片加载不出来。
主应用:
{
"qiankun": "^2.0.12",
}
{
name: 'app1',
entry: '//localhost:8080/sub/app1/',
container: '#root-subapp-container',
activeRule: '/app1',
}
子应用:
{
"umi": "^3.1.1",
"@umijs/plugin-qiankun": "^2.5.1",
}
{
base: '/app1',
publicPath: '/sub/app1/',
}
{
background: url('~@/assets/bg.png');
}
url()中的图片相对路径是相对css文件所在路径,css文件是http://localhost:8080/sub/app1/umi.css,url()中的图片就是http://localhost:8080/sub/app1/static/bg.png。
当子应用单独加载的时候图片加载正常,但是在主应用中加载的时候图片加载路径就变成这样了http://localhost:8080/app1/static/bg.png。
我自己排查了下,问题是出在import-html-entry库。这个库会请求子应用的css文件,并将请求到的文件内容用嵌到子应用的
因为import-html-entry库没法提issue,所以我提到这里了,希望能够修复下这个问题。