关于 qiankun加载第三方sdk、js的问题

项目背景:qiankun、vue2.0、vuecli3.0
问题:当想在子服务中添加 第三方的js库或者sdk时,在public/index.html内引入相应的js,再在相应的子服务的main.js中 window全局对象上 访问注入的js,这时候问题就出现了

在相应的子服务端口直接访问时,可以访问的到相应的 js对象,但是在通过主服务(基座)进行访问的时候就无法访问子服务的window全局对象

在我再次给子服务引入mockjs时也发现了类似问题!!
详细的问题讨论可以看 https://github.com/umijs/qiankun/issues/966

小编的解决方案思路:

  1. 通过主应用访问,子应用的window对象是否已经代理到其他的原型上
  2. 通过主应用访问,子应用 访问的window对象是不是主应用(基座)的
  3. 是否可通过主应用注入js,子应用挂载使用

说干就干!!
在主应用public中引入相应的sdk或js,注意引入sdk时 需要在 script标签中添加ignore
image
再在相应的子服务中 访问 window.sdk ...发现可以访问!
那么就直接把 window.sdk 挂载到子服务vue的原型上直接在 页面上使用

posted @ 2022-03-21 11:22  xiao旭  阅读(760)  评论(0编辑  收藏  举报