<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      記錄---前端微服務框架深度對比:無界(Momentum)與乾坤(Qiankun)實戰指南

      ????? 寫在開頭

      點贊 + 收藏 === 學會??????

      一、引言:為何選擇微前端?

      在傳統單體前端架構中,隨著業務復雜度增加,代碼臃腫、協作困難、部署效率低等問題愈發突出。微前端通過將項目拆分為多個獨立自治的微應用,解決了這些問題:

      • 技術棧無關:支持 Vue、React、Angular 等框架混合開發
      • 獨立部署:各團隊可獨立開發、測試、發布
      • 漸進升級:允許逐步重構舊系統
      • 動態加載:按需加載減少首屏耗時

      本文將以電商后臺管理系統為應用場景,對比分析無界(Momentum)與乾坤(Qiankun)兩大框架的實現方式,通過完整示例代碼揭示其核心差異。


      二、基礎概念對比

      企業微信截圖_20250911173036

      三、實戰示例:電商后臺管理系統

      場景描述

      假設某電商后臺包含以下三個核心模塊:

      1. 商品管理(React 技術棧)
      2. 訂單處理(Vue 技術棧)
      3. 用戶中心(Angular 技術棧)

      主應用提供統一導航和登錄態,各子應用獨立開發部署。


      四、主應用配置(通用部分)

      1. 創建主應用(Vue 3)
      vue create main-app
      cd main-app
      npm install momentum-ui # 無界框架
      npm install qiankun      # 乾坤框架
      2. 目錄結構
      main-app/
      ├── public/
      │   └── index.html
      ├── src/
      │   ├── components/
      │   │   └── NavBar.vue
      │   ├── App.vue
      │   ├── main.js
      │   └── ...
      ├── package.json

      五、無界框架實現

      1. 主應用配置(src/main.js
      import { createApp } from 'vue'
      import App from './App.vue'
      import NavBar from './components/NavBar.vue'
      import { registerMicroApps } from 'momentum-ui'
      
      const app = createApp(App)
      app.component('NavBar', NavBar)
      app.mount('#app')
      
      // 注冊子應用
      registerMicroApps([
        {
          name: 'product-react',
          entry: '//localhost:7100',
          activeRule: '/product',
          container: '#subapp-container'
        },
        {
          name: 'order-vue',
          entry: '//localhost:7101',
          activeRule: '/order',
          container: '#subapp-container'
        }
      ])
      2. 導航組件(src/components/NavBar.vue
      <template>
        <nav>
          <router-link to="/product">商品管理</router-link>
          <router-link to="/order">訂單處理</router-link>
        </nav>
      </template>
      3. 主應用模板(public/index.html
      <body>
        <div id="app">
          <NavBar />
          <div id="subapp-container"></div>
        </div>
      </body>

      六、乾坤框架實現

      1. 主應用配置(src/main.js
      import { createApp } from 'vue'
      import App from './App.vue'
      import NavBar from './components/NavBar.vue'
      import { registerMicroApps, start } from 'qiankun'
      
      const app = createApp(App)
      app.component('NavBar', NavBar)
      app.mount('#app')
      
      // 注冊子應用
      registerMicroApps([
        {
          name: 'product-react',
          entry: '//localhost:7100',
          activeRule: '/product',
          container: '#subapp-container',
          props: { allowRouter: true }
        },
        {
          name: 'order-vue',
          entry: '//localhost:7101',
          activeRule: '/order',
          container: '#subapp-container'
        }
      ])
      
      // 啟動乾坤
      start()
      2. 關鍵區別
      • 無界:無需顯式啟動,注冊即自動加載
      • 乾坤:需調用 start() 激活沙箱環境
      • 樣式隔離:無界依賴 WebComponent 影子DOM,乾坤需配置 sandbox: { strictStyleIsolation: true }

      七、子應用開發(以 React 子應用為例)

      1. 創建子應用
      npx create-react-app product-react
      cd product-react
      npm install momentum-ui # 或 qiankun
      2. 無界適配配置
      // src/index.js (無界)
      import React from 'react'
      import ReactDOM from 'react-dom'
      import App from './App'
      
      if (window.__POWERED_BY_MOMENTUM__) {
        __webpack_public_path__ = window.__INJECTED_PUBLIC_PATH_BY_MOMENTUM__
      }
      
      ReactDOM.render(<App />, document.getElementById('root'))
      3. 乾坤適配配置
      // src/index.js (乾坤)
      import React from 'react'
      import ReactDOM from 'react-dom'
      import App from './App'
      
      let instance = null
      
      function render(props) {
        ReactDOM.render(<App {...props} />, document.getElementById('root'))
      }
      
      if (!window.__POWERED_BY_QIANKUN__) {
        render()
      }
      
      export async function bootstrap() {
        console.log('React 子應用啟動')
      }
      export async function mount(props) {
        console.log('React 子應用掛載')
        render(props)
      }
      export async function unmount() {
        ReactDOM.unmountComponentAtNode(instance.container.querySelector('#root'))
        console.log('React 子應用卸載')
      }

      八、核心特性對比

      1. 樣式隔離

      • 無界:利用 WebComponent 的影子DOM自動隔離樣式
      • 乾坤:需開啟嚴格樣式隔離(sandbox: { strictStyleIsolation: true }),否則可能污染全局樣式

      2. JS 沙箱

      • 無界:通過 iframe 天然隔離,但跨幀通信成本較高
      • 乾坤:采用函數代理沙箱,性能更優但需注意變量泄漏

      3. 動態路由

      • 無界:支持動態注冊路由,適合頻繁變化的導購系統
      • 乾坤:依賴主應用路由配置,更適合固定入口的場景

      九、生產環境部署要點

      1. 構建順序:

        • 先構建主應用,再依次構建子應用
        • 使用帶哈希的指紋版本避免緩存問題
      2. Nginx 配置示例:

      server {
        listen 80;
        location / {
          root /path/to/main-app/dist;
          try_files $uri $uri/ /index.html;
        }
        location /product/ {
          proxy_pass http://localhost:7100;
        }
        location /order/ {
          proxy_pass http://localhost:7101;
        }
      }
      1. 跨域處理:
        • 子應用需設置 Access-Control-Allow-Origin
        • 推薦使用 CDN 加速靜態資源加載

      十、總結與選擇建議

      企業微信截圖_20250911173051

       

      通過本文的對比與實戰演示,開發者可根據項目規模、技術復雜度、團隊協作需求選擇合適的微前端框架。建議從無界入手體驗微前端優勢,待業務擴展后再逐步遷移至乾坤。

      本文轉載于:https://juejin.cn/post/7514956702345773065

      如果對您有所幫助,歡迎您點個關注,我會定時更新技術文檔,大家一起討論學習,一起進步。

      posted @ 2025-09-11 17:35  林恒  閱讀(158)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲暴爽av天天爽日日碰| 国产精品久久久久久亚洲色| 中文字幕在线亚洲日韩6页| 国产熟睡乱子伦视频在线播放| 九九久久精品国产免费看小说| 国产成人精品久久性色av| 免费a级毛片18以上观看精品| 强奷漂亮雪白丰满少妇av| 90后极品粉嫩小泬20p| 亚洲国产精品综合久久网络| 影音先锋在线资源无码| 国产三级精品三级在线看| 日韩中文字幕有码av| 怡红院一区二区三区在线| 欧洲精品码一区二区三区| 精品国产乱码久久久久夜深人妻| 在线观看视频一区二区三区| 国内露脸少妇精品视频| 国产亚洲一级特黄大片在线| 韩国免费a级毛片久久| 99中文字幕精品国产| 精品久久精品午夜精品久久| 亚洲VA久久久噜噜噜久久无码| 91精品91久久久久久| 无遮挡又黄又刺激的视频| 亚洲国产精品综合色在线| 狠狠亚洲色一日本高清色| 国产午夜成人无码免费看| 蜜桃无码一区二区三区| 日日碰狠狠躁久久躁96avv| 黑人猛精品一区二区三区| 无码免费大香伊蕉在人线国产| 九九热在线免费精品视频| 亚洲AV成人片不卡无码| 99精品人妻少妇一区二区| 丰满熟妇人妻中文字幕| 国产精品免费看久久久| 乱女乱妇熟女熟妇综合网| 中文字幕在线精品国产| XXXXXHD亚洲日本HD| 国产真人无遮挡免费视频|