vue3+qiankun框架初体验

项目框架基座和子项目都为vue3

qiankun官网

首先我们需要了解什么是微前端,他是做什么的。

1.什么是微前端
微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web 应用的技术手段及方法策略。简单来说就是就是可以把多个不同框架的项目部署在不同环境,但又可以在一个项目中访问。
2.他是做什么的
他可以将不同框架的多个项目组成统一项目,而组成项目的子项目又可以单独部署单独访问。可以说他们的关系是互相关联而又互不关联。

说明:由于项目还并没有进行上线测试,此代码还不能保证上线没有问题,如有问题请与我交流沟通。
主项目代码实现
1.首先我们需要建立.env.development,.env.production,.ent.qa。3个文件,这3个文件的作用是为了配置前端打包项目路径配置,方便上线,测试,开发环境的区分(注意:文件内配置必须为VUE_APP_开头,否则后面用到的时候不能进行解析)
env.development

NODE_ENV = 'development'
// 开发主项目
VUE_APP_BASE_URL = 'http://localhost:8080'
// 开发子项目
VUE_APP_APP_URL = 'http://localhost:8081'
VUE_APP_SERVICEMESH_URL = 'http://localhost:8082'
VUE_APP_RESOURCE_URL = 'http://localhost:8083'
VUE_APP_MONITOR_URL = 'http://localhost:8084'
VUE_APP_SYSTEM_URL = 'http://localhost:8085'

env.production

NODE_ENV = 'production'
// 生产主项目
VUE_APP_BASE_URL = 'http://localhost:8080'
// 生产子项目
VUE_APP_APP_URL = 'http://localhost:8081'
VUE_APP_SERVICEMESH_URL = 'http://localhost:8082'
VUE_APP_RESOURCE_URL = 'http://localhost:8083'
VUE_APP_MONITOR_URL = 'http://localhost:8084'
VUE_APP_SYSTEM_URL = 'http://localhost:8085'

env.qa

NODE_ENV = 'qa'
// 测试主项目
VUE_APP_BASE_URL = 'http://localhost:8080'
// 测试子项目
VUE_APP_APP_URL = 'http://localhost:8081'
VUE_APP_SERVICEMESH_URL = 'http://localhost:8082'
VUE_APP_RESOURCE_URL = 'http://localhost:8083'
VUE_APP_MONITOR_URL = 'http://localhost:8084'
VUE_APP_SYSTEM_URL = 'http://localhost:8085'

package.json增加

"scripts": {
   
    "serve": "vue-cli-service serve ",
    "build": "vue-cli-service build ",
    "lint": "vue-cli-service lint",
    "serve-qa": "vue-cli-service serve --mode qa",
    "serve-product": "vue-cli-service serve --mode production",
    "build-qa": "vue-cli-service build --mode qa",
    "build-product": "vue-cli-service build --mode production"
  },

主项目router.js

import {
   
    createRouter,
    createWebHashHistory
} from 'vue-router';
import store from '../store/store';
// 采用路由懒加载方式
const login = () => import('../components/static/Login.vue');
const Home = () => import('../components/static/Home.vue');
const router = createRouter({
   
    history: createWebHashHistory(),
    routes: [{
   
        path: '/',
        redirect: login,
        name: '登录'
    }, {
   
        path: '/login',
        component: login,
        name: '登录'
    }, {
   
        path: '/home',
        name: 'Home',
        component: Home
    }]
});
export default router;

主项目src下创建micro文件夹,
micro/apps.js 用来配置子项目路由

// /src/micfo/apps.js
//process.env为上边配置的路径第值
console.log(process.env);
const apps = [{
   
    name: 'kem-app-name',
    entry: process.env.VUE_APP_APP_URL,
    container: '#KEMAPP',
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lbchenxy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值