美文网首页
qiankun_Demo实践

qiankun_Demo实践

作者: 木子士心呦 | 来源:发表于2020-10-25 17:52 被阅读0次

主子应用对技术栈的选择

主应用:Vue + router(history)
子应用:Vue + router(history)

主应用配置

使用Vue-cli3构建主应用项目。

  • 安装qiankun,在主应用的入口文件main.js中引入qiankun,并导入 registerMicroAppsstart.
// 安装qiankun
cnpm install qiankun -S

// 在main.js中引入,并注册子应用配置
import {registerMicroApps,start} from 'qiankun';
registerMicroApps([
    name:'app name',
    entry:'//localhost:8001' // 子应用端口
    container:'#container', // 主应用上给子应用的容器
    activeRule:'/activeRule' // 主应用上当触发哪一个路由。才能在容器中加载该子应用
])
// 运行
start();
  • 在主应用页面中,跳转子应用页面,需要一个放子应用容器
<template>
    <div>
        <button @click="goNext('/vue')">vue子应用</button>
        <div id="vue"></div>
    </div>
</template>
<script>
    methods:{
        goNext(router){
            window.history.pushState(null,router,router)
        }
    }
</script>

子应用配置

使用Vue-cli3构建子应用项目。
子应用不用安装qiankun,需用修改默认配置。

  • vue.config.js中,需要配置子应用可跨域,因为是通过fetch
// vue.config.js
devServer: {
    port: '8001',
    headers: {
      'Access-Control-Allow-Origin':'*'
    }
 }
 configureWebpack: {
    output: {
      library: 'vueApp',
      libraryTarget:'umd'
    }
    
 }
  • 在路由文件router/index.js中,需要修改base默认值。应该与主应用中配置的activeRule值相同。
// router/index.js
base:'/activeRule' 
  • 在子应用的入口文件main.js中,需要暴露三个生命周期函数,bootstrapmountunmount。在生命周期函数汇总调用应用的渲染函数。并且动态添加publicPath
let instance = null

function render() { 
  instance = new Vue({
    router,
    render: h => h(App)
  }).$mount('#app')
}
if (window.__POWERED_BY_QIANKUN__) { // 动态添加publicPath
  __webpack_public_path__ = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__;
}
if (!window.__POWERED_BY_QIANKUN__) { // 默认独立运行
  render();
}
export async function bootstrap() { }
export async function mount(props) { 
  render(props)
}
export async function unmount() { 
  instance.$destroy()
}

相关文章

  • qiankun_Demo实践

    主子应用对技术栈的选择 主应用:Vue + router(history)子应用:Vue + router(his...

  • Day37 流程

    一个原因/没有原因些许想法定下目标翻阅资料以史为鉴制定计划模拟演练实践实践实践实践实践实践……实践实践实践实践实践...

  • 实践实践实践

    发现自己就是想的太多,做的太少。9月份考察的一个项目,不管从哪个方面来讲,都觉得这个项目是非常好,值得一生去做的事...

  • 白玉花果的一般老化特征和老光特征,跟仿品比较

    实践出真知,但不正确的实践必不出真知。正确的实践是个人的实践和社会的实践相结合,脱离社会实践的个人实践是错误的实践...

  • 暑假工作 ‖ 社会实践报告

    实践时间:2018.07.09—2018.08.25实践人:欧阳广梅实践事件:1.社会实践(爱心传递)2.工作实践...

  • 实践实践再实践

    生命是一种体验。

  • 实践实践再实践

    这是我参加11月MJ老师的超级数字力课程的最大体验。 我作为一名复训生参加此次课程,可能因为现在是熊市,大家都不太...

  • 实践实践再实践

    猫叔的分享总是言辞恳切,每一条经验都是他实践过的,我们只要认真跟着做就行。 一、手打字录视频 有这一决定之前,我问...

  • 实践实践再实践

    记录下近来的想法,当有些想法的时候,人一下子可能会规划的很多,说要做个还有那个,然后还可以做那个,睡了一觉之后,发...

  • 实践,实践,还是实践

    王阳明说,做不到就不是真知道。 嗯嗯,我深以为然。 如果说,你知道孝敬老人是传统美德,那你...

网友评论

      本文标题:qiankun_Demo实践

      本文链接:https://www.haomeiwen.com/subject/kqynmktx.html