qiankun(乾坤) - Vue - 嵌套使用 — 解决业务场景
目前有项目 A,内部注册了项目 B,项目 B也使用了 qiankun,内部注册了项目 C
项目A — qk-a(主应用)
main.js
import Vue from 'vue'
import App from './App.vue'
import {
registerMicroApps, start } from 'qiankun';
import router from './router'
Vue.config.productionTip = false
// 由于本身有window.__POWERED_BY_QIANKUN__参数,sub应用无法判断自己在第几层
// 设置一个全局参数,让sub应用检测到该参数则说明自己作为孙子应用运行
window.__POWERED_BY_QIANKUN_PARENT__ = true // 核心代码
// 常规注册微应用
registerMicroApps([{
name: 'qk-b',
entry: '//localhost:8082/',
activeRule: '/qk-b',
container: '#qk-b-container', // 子应用挂载的div
},
]);
start();
new Vue({
router ,
render: h => h(App),
}).$mount('#app')
项目B — qk-b
main.js
import {
registerMicroApps, start, } from 'qiankun'
import VueRouter from 'vue-router'
import Vue from 'vue'
import App from './App'
Vue.use(VueRouter)
let router = null;
let instance = null;
let flag