在项目登出进入登录页面后,页面会白屏并报错,报错信息如下
runtime-dom.esm-bundler.js:10 Uncaught (in promise) DOMException: Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.
根据报错信息可以得知,是由于未找到目标节点,而导致插入节点失败
通过排查发现是如下代码导致
可能是在返回到登录页面时,id为app的dom节点有变动,导致在teleport中的节点插入时,未能找到对应的节点,就导致页面渲染失败
解决办法:
在根节点增加一个专门用来插入teleport的容器节点,如下图所示