wujie无界微前端框架初使用

news/2025/1/8 15:47:55/
先说一下项目需求:将单独的四套系统的登录操作统一放在一个入口页面进行登录,所有系统都使用的是vue3,(不要问我为啥会这样设计,产品说的客户要求)

                                                           

1.主系统下载wujie

我全套都是vue3,所以直接下vue3的

npm i wujie-vue3 -S

不知道官网为什么要把下载依赖单独放这里。。。

官网地址:Vue组件封装 | 无界

2.主系统的main.js中引入wujie

// 导入 WuJie.js 的 Vue3 集成
import WujieVue from "wujie-vue3";
const { bus, setupApp, preloadApp, destroyApp } = WujieVue;// 配置子系统入口
setupApp({name: 'sub-app',url: 'http://localhost:8081', // 子应用的 URLattrs: {src: 'http://localhost:8081',},
});const app = createApp(App)
app.use(WujieVue);
app.mount('#app')

3.配置子应用入口页面路由并且新建这个页面

router.js文件

新建页面路径

4.pre.vue页面代码

<template><div class="pre"><WujieVuewidth="100%"height="100%":name="appName":url="appUrl":sync="true":props="appProps":attrs="appAttrs":alive="true"/></div>
</template><script setup>
import { computed } from 'vue';
import { useRoute } from 'vue-router';
import  WujieVue  from 'wujie-vue3';
// 动态获取路由参数,匹配子应用
const appName = '/pre';
const appUrl = 'http://localhost:8081';
const appProps = { user: 'admin' };
const appAttrs = { "data-custom-attr": "example" }; // 自定义属性
</script><style lang="scss" scoped>
.pre{height: 100%;
}
</style>
主应用已经配置好了,接下来是子应用 

打开子应用的vite.config.js文件

origin和上面主应用的appUrl要一样,开启允许跨域

server: {cors: true, // 允许跨域port: 8081,// host: true,host: '0.0.0.0', // 确保可以通过 IP 访问origin: 'http://localhost:8081', // 子应用的访问地址(与主应用匹配)对应appUrlopen: true,headers: {'Access-Control-Allow-Origin': '*', // 明确允许主应用跨域访问},proxy: {// https://cn.vitejs.dev/config/#server-proxy'/dev-api': {target: 'http://localhost:8080',changeOrigin: true,rewrite: (p) => p.replace(/^\/dev-api/, '')}}},

done


http://www.ppmy.cn/news/1561581.html

相关文章

术业有专攻,遨游工业三防手机筑牢“危急特”通信防线

手机行业竞争日益激烈&#xff0c;工业三防手机以其独特的定位和功能&#xff0c;开辟了一片独特的细分市场。在“危、急、特”场景中&#xff0c;工业三防手机以其防水、防尘和防摔的特性&#xff0c;赢得了特定用户群体的青睐。今天&#xff0c;我们将聚焦于遨游通讯推出的工…

AWS re:Invent 的创新技术

本月早些时候&#xff0c;Amazon 于 12 月 1 日至 5 日在内华达州拉斯维加斯举行了为期 5 天的 re&#xff1a;Invent 大会。如果您从未参加过 re&#xff1a;Invent 会议&#xff0c;那么最能描述它的词是“巨大”——不仅从与会者人数&#xff08;60,000 人&#xff09;来看&…

C 语言指针 “实战终章”:综合案例拆解,融会贯通指针编程之道(六)

文章目录 C语言指针 “实战终章”&#xff1a;综合案例拆解&#xff0c;融会贯通指针编程之道引言案例一&#xff1a;数组元素交换代码示例代码分析 案例二&#xff1a;数组指针传递代码示例代码分析 案例三&#xff1a;二维数组指针代码示例代码分析 案例四&#xff1a;指针数…

HTML语言的数据结构

以HTML语言的数据结构为名 在当今信息化的时代&#xff0c;网页已成为人们获取信息和交流的重要方式。HTML&#xff08;超文本标记语言&#xff09;作为构建网页的基础语言&#xff0c;其数据结构和组成方式使得信息的呈现和交互变得直观而高效。本文将深入探讨HTML语言的数据…

大模型测试-数飞机个数

时间是2025年1月7日&#xff0c;测试下各大网页端大模型的多模态识图能力。 测试题目 图片 问题 标记一下图里的飞机&#xff0c;并数一下飞机的个数 测试结果 千问qwen 在这张图片中&#xff0c;我可以看到总共12架飞机。以下是它们的位置标记&#xff1a;左上角跑道上有…

『SQLite』几种向表中插入数据的方法

向表中插入数据 INSERT INTO 语句用来给数据库中的某个表中新增数据行。 案例 直接根据基本语法插入数据插入时不用全部指定列名方式根据查询结果将数据插入另一张表中 注意 上述内容详讲见文章&#xff1a;SQLite的INSERT操作&#xff08;内含案例&#xff09;

Leffa 虚拟试衣论文笔记

Leffa: Learning Flow Fields in Attention for Controllable Person Image Generation https://github.com/xuanandsix/awesome-virtual-try-on-note/tree/main/Leffa 打开链接查看详情&#xff0c;更多虚拟试穿论文持续更新。

《Vue3实战教程》35:Vue3测试

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 测试​ 为什么需要测试​ 自动化测试能够预防无意引入的 bug&#xff0c;并鼓励开发者将应用分解为可测试、可维护的函数、模块、类和组件。这能够帮助你和你的团队更快速、自信地构建复杂的 Vue 应用。与任何应用一…