当前位置: 首页 > news >正文

建站公司佛山网站设计高端网站设计

建站公司佛山,网站设计高端网站设计,招聘网站开发时间,海纳百川网站建设一 主应用改造(又称基座改造) 1 在主应用中安装qiankun(npm i qiankun -S) 2 在src下新建micro-app.js文件,用于存放所有子应用。 const microApps [// 当匹配到activeRule 的时候,请求获取entry资源,渲染到containe…

一 主应用改造(又称基座改造)

1 在主应用中安装qiankun(npm i qiankun -S)

 2 在src下新建micro-app.js文件,用于存放所有子应用。

const microApps = [// 当匹配到activeRule 的时候,请求获取entry资源,渲染到container中{name: 'micro-vue3',entry: '//localhost:40000',// 子应用的html入口activeRule: '/vue1', // 路由匹配规则container: '#micro-vue3', // 渲染到哪里props: {},},
];export default microApps;

 3 改造vue.config.js,允许跨域访问子应用页面

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({transpileDependencies: true,devServer: {port: 8000,headers: {// 重点1: 允许跨域访问子应用页面'Access-Control-Allow-Origin': '*',},},
})

 4 改造main.js

 

import { createApp } from 'vue'
import App from './App.vue'
import router from './router/router';
import ElementPlus from 'element-plus'; //element-plus
import 'element-plus/dist/index.css'; //element-plus
import { registerMicroApps, start } from 'qiankun';
import microApps from './micro-app';
// createApp(App).use(router).use(ElementPlus).mount('#app');
let app = createApp(App);
app.use(router);
app.use(ElementPlus);
app.mount('#app');// 注册子应用
registerMicroApps(microApps, {//还有一些生命周期 如果需要可以根据官网文档按需加入beforeMount(app) {console.log('挂载前', app);},afterMount(app) {console.log('卸载后', app);},
});
console.log("hello 主应用")
// 启动子应用
start({prefetch: false, //取消预加载sandbox: { experimentalStyleIsolation: true }, //沙盒模式
});

5 在App.vue中写响应跳转子应用(根据自己的项目找对应位置写,不局限于App.vue)

 

<template><el-menu :router="true" mode="horizontal"><!-- 子应用的跳转路径 --><el-menu-item index="/index">主应用 main</el-menu-item><el-menu-item index="/vue1">子应用 vue3</el-menu-item></el-menu><!-- 主应用路由渲染出口 --><router-view /><!-- 子应用的容器 --><!-- 微前端子应用渲染出口 --><div id="micro-vue3"></div>
</template><script>
export default {name: 'App',setup() {return {};},
};
</script><style>
html,
body,
#app {width: 100%;height: 100%;margin: 0;
}
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;color: #2c3e50;
}
</style>

需要注意这里的对应关系:

 二 子应用改造

1 在src下新建public-path.js

if (window.__POWERED_BY_QIANKUN__) {__webpack_public_path__ = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__;
}

2 改造main

 

import { createApp } from 'vue'
import App from './App.vue'
import './public-path'; // 注意需要引入public-path
// createApp(App).mount('#app')
let instance = null;
console.log("hello 子应用")
function render({ container } = {}) {instance = createApp(App);// instance.use(router);// instance.use(store);instance.mount(container ? container.querySelector('#app2') : '#app2');
}
// 如何独立运行微应用?
if (!window.__POWERED_BY_QIANKUN__) {render();
}
// 子应用接入 qiankun
//  1 导出三个必要的生命周期钩子函数
// bootstrap 渲染之前
// mount 渲染函数
// unmount 卸载函数
export async function bootstrap() {// 启动console.log("启动")
}
export async function mount() {console.log("挂载")// 挂载render();
}
export async function unmount() {// 例如从一个子应用到另一个子应用 需要先卸载后再加载,防止内存泄露console.log("卸载")// 卸载instance.unmount();instance = null; // instance.$destroy();// instance.$el.innerHTML = ''// instance = null
}

3 改造vue.config.js

const { defineConfig } = require('@vue/cli-service')
const { name } = require('./package');
console.log("hello 子应用")
module.exports = defineConfig({transpileDependencies: true,devServer: {port: 40000,headers: {'Access-Control-Allow-Origin': '*', //开发时增加跨域 表示所有人都可以访问我的服务器},},configureWebpack: {output: {// 必须打包出一个库文件library: `${name}-[name]`,// 库格式必须是 umdlibraryTarget: 'umd', // 把子应用打包成 umd 库格式// jsonpFunction: `webpackJsonp_${name}`,chunkLoadingGlobal: `webpackJsonp_${name}`,},},
})

 三 改造后效果

 

 

http://www.yayakq.cn/news/794392/

相关文章:

  • 网站页头企业做网站时应注意的事项
  • 申请免费域名邮箱杭州优化网站
  • 谁会制作网站排名推广网站
  • 银行官方网站网址大全最新排行榜
  • 汽车4s网站设计wordpress 4.8 pdf缩略图
  • 网站目录在哪里wordpress字体不能换行
  • 济南专业网站制作公司网站怎么规范管理的
  • 南昌网站搭建服务怎样申请网站空间
  • 网上做网站网站代理网页布局有哪些
  • 工业智能科技网站设计建设一个购物网站需要多少钱
  • 自己做国际网站交流平台网站架构怎么做
  • 胶南做网站灵感设计网站
  • 部队网站建设总结wordpress注册时候卡住
  • 扬州网站建设suteng网络推广营销方法
  • 华亚快印网站开发做旅游网站需要什么
  • 网站栏目建设图全国做旅游开发的公司
  • 做国际网站怎么能快速打开哪个网站做初中英语试题赚钱
  • 临沂住房和城乡建设局网站打不开太原网站seo外包
  • 北京企业建站公司化妆品网站的搭建
  • 咸阳网站设计申请做网站_论坛版主
  • 交互式网站定义网站建设找伟杨科技
  • 番禺建设网站公司排名网站建设项目组织结构图
  • 一站式商家服务平台vr网站建设
  • 外贸公司 如何做公司网站成交型网站建设价格
  • 买网站源码的网站wordpress自定义分类调用
  • 网站鼠标特效网站建设硬件环境
  • 怀化冰山涯IT网站建设公司微商城网站建设行情
  • 淘宝客做二级域名网站电子商务网站体系结构有哪些
  • 网站建设选题wordpress点击放大图片
  • 网站后台账户如何做会计分录百度seo关键词排名优化教程