微前端qiankun打包部署

官網:API 說明 - qiankun

前提:后臺項目,在主應用設置菜單,微應用渲染組件,沒有使用路由跳轉loadMicroApp

1.token需要使用setGlobalState,傳參或者方法用的setGlobalState

2.打包沒有使用Nginx

3.有需要新打開的跳轉頁面寫在主應用中進行跳轉

主應用設置成hash

const router = new VueRouter({mode: 'hash',base: process.env.BASE_URL,routes
})

4.方法傳遞:

// 主應用
import { setGlobalState } from 'qiankun';
handler(param){}
actions.setGlobalState({mainMethods: {some: this.handler}
});// 子應用,param是參數
// main.js
created() {onGlobalStateChange((state) => {this.$store.commit("setMainMethods", state.mainMethods);}, true);
},
// 實際頁面中-(在需要打開新的菜單時使用)
const mainMethods = this.$store.state.mainMethods;
if (mainMethods && mainMethods.some) {mainMethods.some(param);
}

5.打包(打包花了我很長時間,不使用Nginx)

1.主應用入口配置:
<div :id="component">
</div>
let container = component;//頁面中div的組件id值,取個唯一的let map = {}
if (process.env.NODE_ENV === 'development') {map = {file1: '8081',// 模塊1file2: '8082', // 模塊2};
} else if (process.env.NODE_ENV === 'production') {map = {file1: '/child/file1/index.html',// 模塊1file2: '/child/file2/index.html', // 模塊2};
}
// componentType是入口值,判斷當前組件頁面時那個微應用的,就打開哪個端口的微應用
const entry = process.env.NODE_ENV === 'development' ? `//localhost:${map[type]}` : map[type];
this.load[content] = loadMicroApp({name: component,//組件名稱entry,//入口地址container: container,//頁面中的組件渲染divprops: {// 傳參,根據需要來onGlobalStateChange: actions.onGlobalStateChange,setGlobalState: actions.setGlobalState,  },
}, {sandbox: { experimentalStyleIsolation: false }
});
2.微應用配置vue.config.js:
publicPath: process.env.NODE_ENV === 'development'?'/':'/child/file1/',
3.打包目錄結構
└── html/                     # 根文件夾|├── child/                # 存放所有微應用的文件夾|   ├── file1/            # 這個目錄里面放文件就行了,不要再套一個dist|   ├── file2/     ├── index.html            # 主應用的index.html├── css/                  # 主應用的css文件夾├── js/                   # 主應用的js文件夾

仔細看qiankun官網就可以了,最重點的是,

我遇到如下報錯:配置entry時要加上index.html(這是重點!!其他照著官網上來就可以了)

我還遇到了微應用地址報500的問題:

部署的時候會有一個配置文件(配置api代理地址),這個文件只要放在跟目錄下就行了,子目錄里面不要放這個文件,不然微應用會報錯500

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/71792.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/71792.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/71792.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

POST請求提交數據的三種方式及通過Postman實現

1、什么是POST請求&#xff1f; POST請求是HTPP協議中一種常用的請求方法&#xff0c;它的使用場景是向客戶端向服務器提交數據&#xff0c;比如登錄、注冊、添加等場景。另一種常用的請求方法是GET&#xff0c;它的使用場景是向服務器獲取數據。 2、POST請求提交數據的常見編…

【一起學Rust | 框架篇 | Tauri2.0框架】在Tauri應用中設置Http頭(Headers)

文章目錄 前言一、配置準備1. 檢查版本2. 使用條件3. 支持的請求頭&#xff08;并不是全部支持&#xff09; 二、使用步驟1. 如何配置header2. 框架集成1. 對于Vite系列、Nuxt、Next.js這種前端框架Vite系列框架Angular系列框架Nuxt系列框架Next.js系列框架 2. 對于Yew和Leptos…

Uniapp 開發中遇到的坑與注意事項:全面指南

文章目錄 1. 引言Uniapp 簡介開發中的常見問題本文的目標與結構 2. 環境配置與項目初始化環境配置問題解決方案 項目初始化注意事項解決方案 常見錯誤與解決方案 3. 頁面與組件開發頁面生命周期注意事項示例代碼 組件通信與復用注意事項示例代碼 樣式與布局問題注意事項示例代碼…

【藍橋杯集訓·每日一題2025】 AcWing 6135. 奶牛體檢 python

6135. 奶牛體檢 Week 1 2月21日 農夫約翰的 N N N 頭奶牛站成一行&#xff0c;奶牛 1 1 1 在隊伍的最前面&#xff0c;奶牛 N N N 在隊伍的最后面。 農夫約翰的奶牛也有許多不同的品種。 他用從 1 1 1 到 N N N 的整數來表示每一品種。 隊伍從前到后第 i i i 頭奶牛的…

算法系列之搜素算法-二分查找

在算法中&#xff0c;查找算法是處理數據集合的基礎操作之一。二分查找&#xff08;Binary Search&#xff09;是一種高效的查找算法&#xff0c;適用于有序數組或列表。本文將介紹二分查找的基本原理、Java實現。 二分查找介紹 二分查找是一種在有序數組中查找特定元素的算法…

JVM生產環境問題定位與解決實戰(三):揭秘Java飛行記錄器(JFR)的強大功能

提到飛行記錄器&#xff0c;或許你的腦海中并未立刻浮現出清晰的畫面&#xff0c;但一說起“黑匣子”&#xff0c;想必大多數人都能恍然大悟&#xff0c;知曉其重要性及用途。在航空領域&#xff0c;黑匣子作為不可或缺的設備&#xff0c;默默記錄著飛行過程中的每一項關鍵數據…

C#開發——ConcurrentDictionary集合

ConcurrentDictionary<TKey, TValue> 是 C# 中一個專為多線程場景設計的線程安全字典集合&#xff0c;位于 System.Collections.Concurrent 命名空間中。它允許多個線程同時對字典進行讀寫操作&#xff0c;而無需額外的同步措施。 一、集合特征 此集合有如下特征…

Unity百游修煉(2)——Brick_Breaker詳細制作全流程

一、項目簡介 Brick Breaker 是一款經典的打磚塊游戲&#xff0c;本次案例將使用 Unity 引擎來實現該游戲的核心功能。 游戲畫面如下&#xff1a; Brick_ breaker 二、項目結構概覽和前期準備 &#xff08;1&#xff09;在 Unity 項目視圖中&#xff0c;我們可以看到幾個重要…

KubeSphere平臺安裝

KubeSphere簡介 KubeSphere 是一款功能強大的容器管理平臺&#xff0c;以下是其簡介&#xff1a; 1&#xff09;基本信息 開源項目&#xff1a;基于 Apache-2.0 授權協議開源&#xff0c;由 Google Go、Groovy、HTML/CSS 和 Shell 等多種編程語言開發。基礎架構&#xff1a;…

UE5銷毀Actor,移動Actor,簡單的空氣墻的制作

1.銷毀Actor 1.Actor中存在Destory()函數和Destoryed()函數 Destory()函數是成員函數&#xff0c;它會立即標記 Actor 為銷毀狀態&#xff0c;并且會從場景中移除該 Actor。它會觸發生命周期中的銷毀過程&#xff0c;調用 Destroy() 后&#xff0c;Actor 立即進入銷毀過程。具體…

Hadoop 基礎原理

Hadoop 基礎原理 基本介紹Hadoop 的必要性Hadoop 核心組件Hadoop 生態系統中的附加組件 HDFSHDFS 集群架構HDFS 讀寫流程HDFS 寫流程HDFS 讀流程 NameNode 持久化機制 MapReduce底層原理示例 Hadoop 是一個由 Apache 基金會開發的分布式系統基礎架構&#xff0c;主要解決海量數…

Linux編輯器

1.三種模式 2.圖例 3.wq 4.光標的使用

2.24DFS和BFS刷題

洛谷P2895&#xff1a;用BFS走出危險區域&#xff0c;危險區域存在時間&#xff0c;我們用ma記錄最快變成危險區域的時間&#xff0c; 然后每次枚舉時間1然后跟ma數組比較看能不能走&#xff0c;然后時間復雜度為O(305^2)。 #include<iostream> #include<cstring>…

TMDS視頻編解碼算法

因為使用的是DDR進行傳輸&#xff0c;即雙倍頻率采樣&#xff0c;故時鐘只用是并行數據數據的5倍&#xff0c;而不是10倍。 TMDS算法流程&#xff1a; 視頻編碼TMDS算法流程實現&#xff1a; timescale 1 ps / 1ps //DVI編碼通常用于視頻傳輸&#xff0c;將并行數據轉換為適合…

C++中tuple的用法

C中tuple的用法 在C中&#xff0c;std::tuple 是一個模板類&#xff0c;用于存儲一組不同類型的值。它類似于 Python 中的元組&#xff0c;但具有更強大的功能&#xff0c;例如支持不同類型的元素和更復雜的操作。std::tuple 是 C11 標準引入的&#xff0c;位于 <tuple>…

計算機網絡————(一)HTTP講解

基礎內容分類 從TCP/IP協議棧為依托&#xff0c;由上至下、從應用層到基礎設施介紹協議。 1.應用層&#xff1a; HTTP/1.1 Websocket HTTP/2.0 2.應用層的安全基礎設施 LTS/SSL 3.傳輸層 TCP 4.網絡層及數據鏈路層 IP層和以太網 HTTP協議 網絡頁面形成基本 流程&#xff1a…

【網絡編程】廣播和組播

數據包發送方式只有一個接受方&#xff0c;稱為單播。如果同時發給局域網中的所有主機&#xff0c;稱為廣播。只有用戶數據報(使用UDP協議)套接字才能廣播&#xff1a; 廣播地址以192.168.1.0 (255.255.255.0) 網段為例&#xff0c;最大的主機地址192.168.1.255代表該網段的廣…

小程序如何實現跨頁面通信

前言 最近有很多同學問&#xff0c;小程序里面如何進行跨頁面通信。看了下之前的老代碼&#xff0c;基本都是基于onShow或者localStorage。雖然可以實現&#xff0c;但是并不怎么優雅。 今天就來聊一聊&#xff0c;小程序的跨頁面通信的幾種實現方案。或許會有你想要的方案&a…

【工具】win-畫圖 保留圖片信息并僅改變圖片比例的工具

Windows 系統自帶的“畫圖”工具 Windows 系統自帶的“畫圖”&#xff08;Paint&#xff09;工具可以進行簡單的圖片編輯&#xff0c;包括調整圖片大小和比例。 使用方法&#xff1a; 打開“畫圖”工具&#xff08;可以通過在開始菜單中搜索“畫圖”或“Paint”&#xff09;。…

如何編輯autodl中以.bashrc結尾的隱藏文件

在nnunet的運行過程中遇到了設置環境變量的問題。之前沒有接觸過linux系統&#xff0c;但是autodl里面默認是linux系統。.bashrc 是一個在 Bash shell 啟動時執行的腳本文件&#xff0c;常用于設置環境變量、定義別名、加載函數等&#xff0c;用戶可以通過編輯這個文件來定制自…