前言
建议主应用使用history
模式,微应用使用hash
模式。
主应用
先使用VUE CLI创建项目
1 | vue ui |
注意要选择router组件
安装qiankun
1 | npm i qiankun -S |
按如下创建目录
其中
- 微应用出口文件
index.js
- 路由文件
micro_app_router.js
- 配置函数文件
micro_app_setting.js
micro_app_router.js
1 | // 微应用路由 |
micro_app_setting.js
1 | // 引入路由 |
index.js
1 | // 引入 qiankun 应用注册函数 开启函数 |
main.js
上最上方添加
1 | // 引入微应用文件 |
App.vue
1 | <template> |
微应用
项目根目录中添加vue.config.js
1 | const packageName = require("./package.json").name; |
src目录下添加public-path.js
1 | if (window.__POWERED_BY_QIANKUN__) { |
package.json
中添加
1 | { |
main.js
按如下修改
为了避免根 id #app
与其他的 DOM 冲突,需要限制查找范围。
主要是判断是否是在qiankun中打开是否渲染,以及导出qiankun生命周期需要的方法。
1 | import Vue from "vue"; |
路由文件中
1 | const router = new VueRouter({ |
注意
当微应用为hash模式时,base可以不用设置。