在无界微前端环境下,svg图标偶尔会加载不到。或者说是第一次能加载,
后面再打开同样得页面就加载不到了。这种问题我们通过plugins来解决!

{
    plugins: [{
    // element 为真正插入的元素,iframeWindow 为子应用的 window, rawElement为原始插入元素 
    appendOrInsertElementHook(element, iframeWindow, rawElement) {
       if (
        element.nodeName === "svg" &&
        (element.getAttribute("aria-hidden") === "true" ||
          element.style.display === "none" ||
          element.style.visibility === "hidden" ||
          (element.style.height === "0px" && element.style.width === "0px"))
      ) {
        iframeWindow.__WUJIE.styleSheetElements.push(element);
      }
    }
  },]
}

上面就是说插入到主应用得svg字体或者图标复制一份到子应用内。
这样子应用就可以正常获取到svg图标字体了。


smallStone
444 声望72 粉丝

前端一枚^_-


引用和评论

0 条评论