[發明專利]微前端架構的實現方法、裝置、計算機設備和存儲介質在審
| 申請號: | 202211068659.1 | 申請日: | 2022-09-02 |
| 公開(公告)號: | CN115421693A | 公開(公告)日: | 2022-12-02 |
| 發明(設計)人: | 陳功;李星;陳洲 | 申請(專利權)人: | 金蝶征信有限公司 |
| 主分類號: | G06F8/20 | 分類號: | G06F8/20;G06F8/30;G06F9/448 |
| 代理公司: | 華進聯合專利商標代理有限公司 44224 | 代理人: | 胡淑梅 |
| 地址: | 518000 廣東省深圳市前海深港合作區前*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 前端 架構 實現 方法 裝置 計算機 設備 存儲 介質 | ||
1.一種微前端架構的實現方法,其特征在于,所述方法包括:
響應于子應用開啟請求,將子應用掛載于主應用文檔中的掛載位置上;
在所述子應用完成掛載后,依據加載關鍵數據獲取所述子應用對應的資源;所述資源包括樣式數據和JS腳本;
在所述掛載位置上創建與所述樣式數據對應的隔離環境,以及在所述隔離環境中創建所述JS腳本對應的代理沙箱;
將所述樣式數據加載于所述隔離環境得到第一層疊樣式表對象模型樹;
將所述JS腳本運行于所述代理沙箱得到文檔對象模型樹,基于所述第一層疊樣式表對象模型樹和所述文檔對象模型樹顯示所述子應用。
2.根據權利要求1所述的方法,其特征在于,所述將子應用掛載于主應用文檔中的掛載位置上之前,所述方法還包括:
確定所述子應用的子應用名稱;
獲取掛載標簽,并依據所述掛載標簽確定所述子應用的掛載位置;
調用注冊函數,通過所述注冊函數配置所述子應用的相關參數。
3.根據權利要求2所述的方法,其特征在于,所述響應于子應用開啟請求,將子應用掛載于主應用文檔中的掛載位置上,包括:
響應于子應用開啟請求,當所述子應用未配置路由參數時,將子應用掛載于主應用文檔中的掛載位置上;
當所述子應用已配置路由參數時,確定所述子應用名稱對應的子應用地址;將所述子應用地址與主應用地址進行路由匹配,得到匹配結果;當所述匹配結果為匹配成功時,將子應用掛載于主應用文檔中的掛載位置上。
4.根據權利要求3所述的方法,其特征在于,所述方法還包括:
當所述匹配結果為匹配成功時,對所述子應用地址進行映射處理;
當所述匹配結果為匹配不成功時,不對所述子應用進行掛載處理,或對所述子應用卸載處理。
5.根據權利要求1所述的方法,其特征在于,所述加載關鍵數據包括第一標簽和第二標簽;所述樣式數據包括層疊樣式表和樣式文件;所述依據加載關鍵數據獲取所述子應用對應的資源包括:
檢測所述子應用對應的子應用文檔中的第一標簽和第二標簽;
依據所述第一標簽將獲取所述層疊樣式表;
檢測所述層疊樣式表中的文件引用地址,并依據所述文件引用地址獲取對應的樣式文件;當所述樣式文件中包含其它文件引用地址時,繼續依據其它文件引用地址獲取對應的樣式文件;
更改所述層疊樣式表和所述樣式文件中的圖片引用地址;
將更改后的所述層疊樣式表和所述樣式文件組合成樣式數據;
依據所述第二標簽獲取所述JS腳本。
6.根據權利要求5所述的方法,其特征在于,所述方法還包括:
將所述樣式數據包裹于所述第一標簽中;
將所述JS腳本包裹于所述第二標簽中;
將包含所述第一標簽和所述第二標簽的子應用文檔進行緩存;
在創建完所述隔離環境和所述代理沙箱之后,從緩存的所述子應用文檔中讀取所述樣式數據和所述JS腳本;
執行所述將所述樣式數據加載于所述隔離環境得到第一層疊樣式表對象模型樹,以及執行所述將所述JS腳本運行于所述代理沙箱得到文檔對象模型樹。
7.根據權利要求1所述的方法,其特征在于,所述將所述樣式數據加載于所述隔離環境得到第一層疊樣式表對象模型樹包括:
從所述樣式數據中讀取頂層樣式;
將所述頂層樣式掛載于所述主應用文檔上,以使主應用的第二層疊樣式表對象模型樹正常運行;
將所述樣式數據中除所述頂層樣式之外的剩余數據加載于所述隔離環境,得到第一層疊樣式表對象模型樹。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于金蝶征信有限公司,未經金蝶征信有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211068659.1/1.html,轉載請聲明來源鉆瓜專利網。





