qian‘kun微服务配置vue3.2+ts+vite子应用教程

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: qian‘kun微服务配置vue3.2+ts+vite子应用教程

效果图:


主应用(基座)技术栈:vue2+elementUI

子应用一可视化项目技术栈:react hooks+ts+ echarts+ datav

子应用二后台项目技术栈:vue3.2+ts+vite +element-plus

f1ebb39270b14a72b21c975ebcede121.gif

前言:


写这篇文章是因为截至今日,乾坤微前端对于vue3和vite的支持还不够,加上网上乱七八糟的文章太多,误人子弟。

还有一点,vue3.2+ts+vite应该是截至今日前端最新的技术栈了。

这篇文章,只讲怎么配置子应用vue3+vite+ts,对于还不清楚从0开始配置的请看昨天写的我上一篇文章:

image.png

1.步骤


第一步,先确定index.html的id和main.js中的id是否和主应用的id一致


1ea5966a04044b828ad80169e4092a27.png

第二步,子应用下载插件


npm i @sh-winter/vite-plugin-qiankun

第三步,配置入口文件 main.js


import { createApp } from "vue";
import App from "./App.vue";
import { exportLifeCycleHooks, qiankunWindow } from "@sh-winter/vite-plugin-qiankun/dist/helper"; //+++++++++
// reset style sheet
import "@/styles/reset.scss";
// element dark(内置暗黑模式)
import "element-plus/theme-chalk/dark/css-vars.css";
// custom element dark(自定义暗黑模式)
import "@/styles/element-dark.scss";
// custom element css
import "@/styles/element.scss";
// custom directives
import directives from "@/directives/index";
// vue Router
import router from "@/routers/index";
// vue i18n
import I18n from "@/language/index";
// pinia store
import pinia from "@/store/index";
const app = createApp(App);
// 注册element Icons组件
Object.keys(Icons).forEach(key => {
  app.component(key, Icons[key as keyof typeof Icons]);
});
app.use(router).use(I18n).use(pinia).use(directives).use(ElementPlus).mount("#appVue3");
//以下++++++++++++
function render() {
  // const app = createApp(App);
  // app.mount("#appVue3");
}
exportLifeCycleHooks({
  bootstrap() {
    // do nothing.
  },
  mount() {
    render();
  },
  unmount() {}
});
if (!qiankunWindow.__POWERED_BY_QIANKUN__) {
  render();
}

第四步,配置 vite.config.js


import qiankun, { transformAssetUrl } from '@sh-winter/vite-plugin-qiankun'//+++++
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { name as packageName } from './package.json' //+++++++
export default defineConfig({
    base: `/${packageName}/`,//+++++++
  plugins: [
        vue({
            template: {
                compilerOptions: {
                    nodeTransforms: [transformAssetUrl]
                }
            }
        }),
        qiankun({ packageName })//++++++++++
    ]
})

至此完成。

解决子应用请求接口404问题


场景:

从主应用跳转到子应用后台项目,点击登录时,发现login登录接口报404错误、

原因及解决:

我发现,子应用的代理无用,于是加上下面一句话,意思是允许跨域访问子应用页面,然后子应用所有的请求都是完整的请求链接,比如:

 url = `https://mock.mengxuegu.com/mock/629d727e6163854a32e8307e` + "/geeker"

image.png

相关文章
|
6天前
|
微服务 应用服务中间件
微服务跨域(通过网关配置进行跨域)
在单体架构中,我们通常通过SpringMVC配置类实现CORS跨域支持,设置允许的来源、请求头、方法及凭证等。然而,在微服务架构下,因浏览器首先访问网关再进行服务路由,需在网关配置跨域。对于无SpringMVC环境的网关(如使用Gateway组件),我们可在YAML文件中配置`spring.cloud.gateway.globalcors`属性,以实现全局跨域支持。
25 0
|
9天前
|
JavaScript 前端开发 安全
【Vue3 + Vite】6个非常强大的后台管理项目!开源且免费!
【Vue3 + Vite】6个非常强大的后台管理项目!开源且免费!
|
11天前
|
安全 前端开发 Java
微服务网关及其配置
微服务网关及其配置
49 4
|
15天前
|
NoSQL Java Redis
Spring Boot集成Redis全攻略:高效数据存取,打造性能飞跃的Java微服务应用!
【8月更文挑战第3天】Spring Boot是备受欢迎的微服务框架,以其快速开发与轻量特性著称。结合高性能键值数据库Redis,可显著增强应用性能。集成步骤包括:添加`spring-boot-starter-data-redis`依赖,配置Redis服务器参数,注入`RedisTemplate`或`StringRedisTemplate`进行数据操作。这种集成方案适用于缓存、高并发等场景,有效提升数据处理效率。
69 2
|
18天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:Kubernetes在微服务架构中的应用Python编程之旅:从基础到进阶
【7月更文挑战第31天】随着云计算技术的迅猛发展,云原生概念应运而生,它代表了一种构建和运行应用程序的全新方式。本文将通过实际代码示例,深入探讨Kubernetes这一云原生关键技术如何在微服务架构中发挥其强大的作用。我们将从容器化开始,逐步过渡到Kubernetes集群的搭建与管理,最后展示如何部署和管理一个微服务应用。
31 2
|
19天前
|
消息中间件 Kubernetes 数据库
深入理解微服务架构及其在现代后端开发中的应用
【7月更文挑战第30天】随着技术的进步和业务需求的多样化,传统的单体应用架构已逐渐不能满足快速迭代和可扩展性的需求。微服务架构作为一种新兴的软件开发架构风格,以其独特的设计理念和优势,成为解决复杂系统问题的有效途径。本文将深入探讨微服务架构的核心概念、设计原则以及在实际后端开发中的应用场景,帮助开发者更好地理解和运用微服务架构。
27 2
|
23天前
|
消息中间件 负载均衡 数据管理
微服务架构在电商平台中的应用与实践
在现代电商平台的开发和运维中,微服务架构成为了提升系统灵活性和可扩展性的关键技术。本篇文章从实践出发,深入探讨了微服务架构在电商平台中的具体应用,包括服务拆分策略、通信机制、数据管理、以及常见的挑战和解决方案。通过真实的案例分析和代码示例,帮助读者全面了解微服务架构的优势和实施方法,提供在实际项目中的实践指导。
|
2天前
|
Java 数据库连接 Nacos
SpringCloud微服务配置管理、配置热更新
SpringCloud微服务配置管理、配置热更新
8 0
|
3天前
|
安全 Nacos 数据库
【技术安全大揭秘】Nacos暴露公网后被非法访问?!6大安全加固秘籍,手把手教你如何保护数据库免遭恶意篡改,打造坚不可摧的微服务注册与配置中心!从限制公网访问到启用访问控制,全方位解析如何构建安全防护体系,让您从此告别数据安全风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其公网暴露可能引发数据库被非法访问甚至篡改的安全隐患。本文剖析此问题并提供解决方案,包括限制公网访问、启用HTTPS、加强数据库安全、配置访问控制及监控等,帮助开发者确保服务安全稳定运行。
11 0