<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      微前端 qiankun

      三個(gè)項(xiàng)目,一個(gè)管理端,兩個(gè)微前端

      文檔地址 https://qiankun.umijs.org/zh

      普通項(xiàng)目管理端安裝qiankun     npm i qiankun -S

      管理端main.js

      import Vue from 'vue'
      import App from './App.vue'
      
      Vue.config.productionTip = false
      // 引入qiankun
      import {
      	registerMicroApps,
      	start
      } from 'qiankun';
      const apps = [{
      		name: 'vueApp', // 應(yīng)用的名字
      		entry: 'http://localhost:8081/', // 默認(rèn)會(huì)加載這個(gè)html 解析里面的js 動(dòng)態(tài)的執(zhí)行 (子應(yīng)用必須支持跨域)fetch
      		container: '#vue', // 容器名(此項(xiàng)目頁(yè)面中定義的容器id,用于把對(duì)應(yīng)的子應(yīng)用放到此容器中)
      		activeRule: '/vue', // 激活的路徑
      		props: {
      			a: 1
      		} // 傳遞的值(可選)
      	},
      	{
      		name: 'reactApp',
      		entry: 'http://wfios.com:1667/dqGxpt_qt/', // 默認(rèn)會(huì)加載這個(gè)html 解析里面的js 動(dòng)態(tài)的執(zhí)行 (子應(yīng)用必須支持跨域)fetch
      		container: '#react',
      		activeRule: '/react',
      	}
      ]
      
      registerMicroApps(apps); // 注冊(cè)應(yīng)用
      start({
      	prefetch: false // 取消預(yù)加載
      });
      new Vue({
      	render: h => h(App),
      }).$mount('#app')
      

       管理端app.vue

      <template>
        <div id="app">
      	  <a href='/vue'>vue應(yīng)用1</a>
      	  <a href='/react'>應(yīng)用2</a>
          <div id="vue"></div>
          <div id="react"></div>
        </div>
      </template>
       
      <style lang="less">
      #app {
        font-family: Avenir, Helvetica, Arial, sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-align: center;
        color: #2c3e50;
      }
      nav {
        padding: 30px;
        a {
          font-weight: bold;
          color: #2c3e50;
       
          &.router-link-exact-active {
            color: #42b983;
          }
        }
      }
      </style>
      

        子應(yīng)用1 

      import Vue from 'vue';
      import App from './App.vue';
       
      Vue.config.productionTip = false;
       
      let router = null;
      let instance = null;
      function render(props = {}) {
        const { container } = props; 
        instance = new Vue({
          render: (h) => h(App),
        }).$mount(container ? container.querySelector('#app') : '#app');
      }
       
       
       
      if (window.__POWERED_BY_QIANKUN__) { // 動(dòng)態(tài)添加publicPath
        __webpack_public_path__ = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__;
      }
      if (!window.__POWERED_BY_QIANKUN__) { // 默認(rèn)獨(dú)立運(yùn)行
        render();
      }
       
      // 父應(yīng)用加載子應(yīng)用,子應(yīng)用必須暴露三個(gè)接口:bootstrap、mount、unmount
      // 子組件的協(xié)議就ok了
      export async function bootstrap() {
        console.log('[vue] vue app bootstraped');
      }
      export async function mount(props) {
        console.log('[vue] props from main framework', props);
        render(props);
      }
      export async function unmount() {
        instance.$destroy();
        instance.$el.innerHTML = '';
        instance = null;
        router = null;
      }
      

        子應(yīng)用1 vue.config.js

      const { name } = require('./package');
      module.exports = {
        lintOnSave: false,  	
        devServer: {
          port: 8081,
          headers: {
            'Access-Control-Allow-Origin': '*',
          },
        },
        configureWebpack: {
          output: {
            library: `${name}-[name]`,
            libraryTarget: 'umd', // 把微應(yīng)用打包成 umd 庫(kù)格式
            //jsonpFunction: `webpackJsonp_${name}`,// 取決于webpack的版本(可不要,但小于webpack5.x則需要加上)
          },
        }
      };
      

        子應(yīng)用1 router.js

      const router = new VueRouter({
          mode: 'history',
          base: window.__POWERED_BY_QIANKUN__ ? "/vue" : "/",//基礎(chǔ)路徑
          routes
      })
      

        

      posted @ 2023-11-29 17:20  mrt_yy  閱讀(45)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲AV日韩AV综合在线观看 | 国产在线拍揄自揄拍无码视频| 国产女人18毛片水真多1| 亚洲国产成人精品av区按摩| 青草国产超碰人人添人人碱| 亚洲 制服 丝袜 无码| 精品一区二区三区日韩版| 中文字幕精品亚洲字幕成| 在线观看热码亚洲av每日更新| 草草浮力影院| 四虎在线成人免费观看| 国产欧美性成人精品午夜| 亚洲av本道一区二区| 国产成人8X人网站视频| 大同市| 午夜福利国产精品小视频| 亚洲老女人区一区二视频| 少妇无码太爽了在线播放| 国产精品小粉嫩在线观看| 国产AV老师黑色丝袜美腿| 日本中文字幕有码在线视频| 亚洲精品岛国片在线观看| 久久久久久久一线毛片| 免费 黄 色 人成 视频 在 线| 亚洲综合一区二区三区| 欧美亚洲国产一区二区三区 | 日本午夜精品一区二区三区电影| 乌克兰美女浓毛bbw| 国产精品伊人久久综合网| 三级网站视频在在线播放| 精品亚洲国产成人av| 国精品午夜福利不卡视频| 精品国产一区二区三区大 | 国产啪视频免费观看视频| 伊人色综合一区二区三区影院视频| 国产成人午夜在线视频极速观看| 久久一夜天堂av一区二区| 久久综合激情网| 自拍偷自拍亚洲一区二区| 怡红院一区二区三区在线| 亚洲精品国产一二三区|