nursing_unit_vue/src/qiankun/index.ts

74 lines
1.9 KiB
TypeScript

// /**
// * qiankun配置
// */
// import { registerMicroApps, setDefaultMountApp, start, runAfterFirstMounted, addGlobalUncaughtErrorHandler } from 'qiankun';
// import { apps } from './apps';
// import { getProps, initGlState } from './state';
//
// /**
// * 重构apps
// */
// function filterApps() {
// apps.forEach((item) => {
// //主应用需要传递给微应用的数据。
// item.props = getProps();
// //微应用触发的路由规则
// // @ts-ignore
// item.activeRule = genActiveRule('/' + item.activeRule);
// });
// return apps;
// }
//
// /**
// * 路由监听
// * @param {*} routerPrefix 前缀
// */
// function genActiveRule(routerPrefix) {
// return (location) => location.pathname.startsWith(routerPrefix);
// }
//
// /**
// * 微应用注册
// */
// function registerApps() {
// const _apps = filterApps();
// registerMicroApps(_apps, {
// beforeLoad: [
// // @ts-ignore
// (loadApp) => {
// console.log('before load', loadApp);
// },
// ],
// beforeMount: [
// // @ts-ignore
// (mountApp) => {
// console.log('before mount', mountApp);
// },
// ],
// afterMount: [
// // @ts-ignore
// (mountApp) => {
// console.log('before mount', mountApp);
// },
// ],
// afterUnmount: [
// // @ts-ignore
// (unloadApp) => {
// console.log('after unload', unloadApp);
// },
// ],
// });
// // 设置默认子应用,与 genActiveRule中的参数保持一致
// // setDefaultMountApp();
// // 第一个微应用 mount 后需要调用的方法,比如开启一些监控或者埋点脚本。
// runAfterFirstMounted(() => console.log('开启监控'));
// // 添加全局的未捕获异常处理器。
// addGlobalUncaughtErrorHandler((event) => console.log(event));
// // 定义全局状态
// initGlState();
// //启动qiankun
// start({});
// }
//
// export default registerApps;