1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
| import { MicroApp } from './types';
export const microApps: MicroApp[] = [ { name: 'sub-app-1', getGlobalState: () => globalStore.getState() } }, { name: 'sub-app-2', entry: '//localhost:3002', container: '#subapp-container', activeRule: '/app2', props: { routerBase: '/app2', getGlobalState: () => globalStore.getState() } } ];
import { registerMicroApps, start, initGlobalState } from 'qiankun'; import { microApps } from './apps'; import { message } from 'antd';
const initialState = { user: null, token: localStorage.getItem('token') || '', theme: 'light', permissions: [] };
console.log('主应用: 全局状态发生变化', state, prev); });
export function registerApps() { registerMicroApps(microApps, { beforeLoad: [ (app) => { console.log('[主应用] before load', app.name); return Promise.resolve(); } ], beforeMount: [ (app) => { console.log('[主应用] before mount', app.name); return Promise.resolve(); } ], afterMount: [ (app) => { console.log('[主应用] after mount', app.name); return Promise.resolve(); } ], beforeUnmount: [ (app) => { console.log('[主应用] before unmount', app.name); return Promise.resolve(); } ], afterUnmount: [ (app) => { console.log('[主应用] after unmount', app.name); return Promise.resolve(); } ] }); }
export function startQiankun() { start({ sandbox: { strictStyleIsolation: false, }, prefetch: true, return window.fetch(url, ...args); } });
console.log('[主应用] qiankun started'); }
export { actions };
|