微前端阿里qiankun、京东micro-app、腾讯wujie配置父子应用

一:阿里qiankun

基于 single-spa,采用了微前端的技术方案,通过主应用来管理和加载多个子应用。主应用和子应用之间通过自定义协议通信,实现了跨应用的状态共享。

1、主main.js

import { registerMicroApps, start } from 'qiankun';

registerMicroApps([
  {
    name: '子应用名称',
    entry: '子应用入口URL',
    container: '#子应用挂载容器',
    activeRule: '/子应用路由前缀',
  },
  // 可以添加更多子应用
]);

start();

2、子main.js

import { createApp } from 'vue';
import App from './App.vue';

let app = null;

function render() {
  app = createApp(App);
  app.mount('#app');
}

if (!window.__POWERED_BY_QIANKUN__) {
  render();
}

export async function bootstrap() {
  // 子应用启动前的操作
}

export async function mount(props) {
  // 子应用挂载前的操作
  render();
}

export async function unmount() {
  // 子应用卸载前的操作
  app.unmount();
  app = null;
}

3、子package.json

{
  "name": "sub-app",
  "version": "1.0.0",
  "qiankun": {
    "master": {
      "defer": true
    }
  }
}

  

二、京东micro-app和腾讯wujie

基于 Web Components 技术实现,wujie为轻量级的微前端框架,micro-app为相对完整的微前端解决方案,提供了更多的功能和生态支持,如状态管理、路由管理等。

使用方法一致,替换库即可

1、主mian.js

import { createApp } from 'micro-app';
import App from './App.vue';

createApp(App).start();

2、子main.js

import { createApp } from 'micro-app';
import App from './App.vue';

createApp(App).start();

3、子package.js

{
  "name": "sub-app",
  "version": "1.0.0",
  "micro-app": {
    "type": "sub-app"
  }
}

 

  

posted @ 2022-07-12 16:12  鱿鱼须须  阅读(1557)  评论(0编辑  收藏  举报