import { createVNode, render, Teleport, createBlock, openBlock } from 'vue' import type { Component } from 'vue' export const mount = (to: HTMLDivElement, Component: Component, props?: Record) => { const appEl = document.createElement('div') const vnode = createVNode(Component, props) openBlock() const portBlock =createBlock(Teleport as any, { to }, [ vnode ]) render(portBlock, appEl) return () => render(null, appEl) }