/* * @Author: sjl * @Date: 2023-04-25 17:47:52 * @Descripttion: */ import { createApp } from 'vue' import '@/assets/style.css' import App from './App.vue' import { createWebHistory } from 'vue-router' import createRouter from "./router" import { renderWithQiankun, qiankunWindow } from 'vite-plugin-qiankun/dist/helper' let router: any = null let instance: any = null let history: any = null function render(props: any | undefined) { console.log("__POWERED_BY_QIANKUN__", qiankunWindow.__POWERED_BY_QIANKUN__) const container = props ? props.container : undefined history = createWebHistory(qiankunWindow.__POWERED_BY_QIANKUN__ ? '/two' : '/ms-two') router = createRouter(history) instance = createApp(App) instance.use(router) instance.mount(container ? container.querySelector('#app') : '#app') } renderWithQiankun({ mount(props: any) { render(props) instance.config.globalProperties.$onGlobalStateChange = props.onGlobalStateChange instance.config.globalProperties.$setGlobalState = props.setGlobalState }, bootstrap() { console.log('%c%s', 'color: green;', 'vue3.0 app bootstraped') }, unmount() { instance.unmount() instance._container.innerHTML = '' instance = null router = null history.destroy() }, update() { console.log('update') } }) if (!qiankunWindow.__POWERED_BY_QIANKUN__) { render(undefined) }