如 主应用部署到www/aa  子应用部署到www/bb ,如果单独启动子应用,对于css等静态资源来说访问的链接直接是 www/bb/静态资源,当如果通过主应用来起子应用,链接就是www/aa/静态资源,首先是要设置子应用中vue.config.js 中publicPath设置为自己的子应用部署站点,如publicPath:www/bb,一般会出现

,如果使用qiankun官方的

 

也还是无法解决,虽然没有报错,但会出现加载警告,图标及文字还是无法显示,一个小白框,困扰两三天终于解决,重点思路不再与更改子应用,而是主应用,因为出现加载不出来的原因主要是应该通过主应用去启动子应用无法正确的获取到子应用静态资源地址。qiankun官方有一个函数

  • getPublicPath - (entry: Entry) => string - 可选,参数是微应用的 entry 值。

 

需要在主应用载入是进行配置,如 

getPublicPath(entry)

{

        return 'www/bb'; //此处改为对应的子应用部署路径

}

我的问题就是这样解决的,在网上搜,居多的答案都是不行,这个博主亲测有效。 

可以试一下 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐