国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微前端----qiankun

這篇具有很好參考價值的文章主要介紹了微前端----qiankun。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.qiankun是什么?它解決了哪些問題?

qiankun 是一個基于?single-spa?的微前端實現(xiàn)庫,換句話說就是對single-spa進(jìn)行了封裝得到qiankun。

qiankun就是將一個大應(yīng)用拆分成好多小項目,qiankun解決了我們協(xié)同開發(fā)的一些問題,其次更方便于我們進(jìn)行更新代碼 。

2.qiankun的實現(xiàn)原理及過程。

(1)監(jiān)聽路由變化

(2)匹配子應(yīng)用

(3)加載子應(yīng)用

(4)渲染子應(yīng)用

我們可以簡單概括為當(dāng)匹配到activeRule的時候,請求獲取entry資源,渲染到container中。

3.大家可以結(jié)合spa應(yīng)用的父子組件對比的來理解qiankun

我們拿vue2的父子組件來簡單分析一下。

qiankun首先也是在他的基座(主應(yīng)用)注冊子應(yīng)用

子應(yīng)用名稱:父組件中子組件的名稱

其次規(guī)定他的地址端口號(父子組件沒有):獲取entry的html資源

渲染子應(yīng)用的容器container:父組件中子組件的占位符

觸發(fā)加載子應(yīng)用的路徑activeRule:相當(dāng)于子路由

子應(yīng)用需要配置跨域:因為你這個端口號發(fā)生了變化

這個就是對小白來說方便理解這個qiankun,目前在微前端框架領(lǐng)域里,qiankun算是用的最好最多的。

4.qiankun實戰(zhàn)配置。

1.首先創(chuàng)建主應(yīng)用項目、微應(yīng)用項目

2.主應(yīng)用安裝qiankun? ?npm i qiankun -S

我這次以react項目作為主應(yīng)用、子應(yīng)用是一個vue項目 一個react項目

第一步,在主應(yīng)用里面注冊子應(yīng)用(在主應(yīng)用的入口文件里)

import { registerMicroApps, start } from 'qiankun'; // 底層是基于single-spa

const loader = (loading) => {
    console.log(loading)
}
registerMicroApps([{
        name: 'm-vue',  // 子應(yīng)用的名稱
        entry: '//localhost:20000',  // 子應(yīng)用的入口地址
        container: '#container',  // 渲染的容器
        activeRule: '/vue',  // 觸發(fā)渲染的路徑
        loader,
    },
    {
        name: 'm-react',
        entry: '//localhost:30000',
        container: '#container',
        activeRule: '/react',
        loader
    }
], {
    beforeLoad: () => {
        console.log('加載前')
    },
    beforeMount: () => {
        console.log('掛在前')
    },
    afterMount: () => {
        console.log('掛載后')
    },
    beforeUnmount: () => {
        console.log('銷毀前')
    },
    afterUnmount: () => {
        console.log('銷毀后')
    },
})
start({
    sandbox:{
        // experimentalStyleIsolation:true
        strictStyleIsolation:true
    }
});

第二步,在主應(yīng)用的出口文件添加觸發(fā)子應(yīng)用的路徑

import {BrowserRouter as Router,Link} from 'react-router-dom'
function App() {
  return (
    <div className="App">
        <Router>
          <Link to="/vue">vue應(yīng)用</Link>
          <Link to="/react">react應(yīng)用</Link>
        </Router>
         {/* 切換導(dǎo)航, 將微應(yīng)用渲染container容器中 */}

        <div id="container"></div>
    </div>
  );
}



export default App;

第三步,子應(yīng)用里面的配置vue.config.js

module.exports = {
    publicPath: '//localhost:20000', //保證子應(yīng)用靜態(tài)資源都是像20000端口上發(fā)送的
    devServer: {
        port: 20000, // fetch
        headers:{
            'Access-Control-Allow-Origin': '*'
        }
    },
    configureWebpack: { // 需要獲取我打包的內(nèi)容  systemjs=》 umd格式
        output: {
            libraryTarget: 'umd',
            library: 'm-vue'// window['m-vue']
        }
    }
}

第四步,子應(yīng)用里面的main.js

import { createApp } from 'vue'
import { createRouter, createWebHistory } from 'vue-router';
import App from './App.vue'
import routes from './router'

// 不能直接掛載 需要切換的時候 調(diào)用mount方法時候再去掛載
let history;
let router;
let app;
function render(props = {}){
    history =  createWebHistory('/vue');
    router = createRouter({
        history,
        routes
    });
    app = createApp(App);
    let {container} = props; // 默認(rèn)他會拿20000端口的html插入到容器中,
    app.use(router).mount(container ? container.querySelector('#app'):'#app')
}

// 乾坤在渲染前 給我提供了一個變量 window.__POWERED_BY_QIANKUN__

if(!window.__POWERED_BY_QIANKUN__){ // 獨立運行自己
render();
   
}

// 需要暴露接入?yún)f(xié)議
export async function bootstrap(){
    console.log('vue3 app bootstraped');
}

export async function mount(props){
    console.log('vue3 app mount',);
     render(props)
}
export async function unmount(){
    console.log('vue3 app unmount');
    history = null;
    app = null;
    router = null;
}

這是一個簡單的實戰(zhàn)配置,關(guān)注我,下一篇文章整理qiankun的源碼,更加徹底的掌握qiankun,大家有啥建議或者觀點歡迎評論區(qū)留言。文章來源地址http://www.zghlxwxcb.cn/news/detail-654207.html

到了這里,關(guān)于微前端----qiankun的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 微前端框架篇一,了解qiankun

    微前端框架篇一,了解qiankun

    微前端是一種將復(fù)雜單體應(yīng)用拆分為多個小型獨立前端應(yīng)用,然后將這些小應(yīng)用按需加載并集成到主應(yīng)用的技術(shù)方案。 每個子應(yīng)用都有自己的 JavaScript 和 CSS 代碼。 單頁Web應(yīng)用(single page web application,SPA),就是只有一張Web頁面的應(yīng)用。所有頁面都來回在這張頁面上切換。

    2024年01月22日
    瀏覽(63)
  • qiankun:react18主應(yīng)用 + 微應(yīng)用 react18 + vue3

    qiankun:react18主應(yīng)用 + 微應(yīng)用 react18 + vue3

    一:主應(yīng)用 搭建react項目 安裝Antd 在 index.js中引入 安裝react-router : 在 index.js中引入 安裝 qiankun : 在主應(yīng)用中注冊微應(yīng)用,在 index.js中引入 注:子應(yīng)用嵌入到主應(yīng)用的地方,id要跟index.js下registerMicroApps里面的container設(shè)置一致 修改App.js文件,將如下代碼放入App.js 修改App.css樣

    2024年02月16日
    瀏覽(43)
  • Vue 和 React 前端框架的比較

    Vue 和 React 前端框架的比較

    本文研究了流行的前端框架 Vue 和 React 之間的區(qū)別。通過對它們的學(xué)習(xí)曲線、視圖層處理方式、組件化開發(fā)、響應(yīng)式數(shù)據(jù)處理方式和生態(tài)系統(tǒng)及社區(qū)支持進(jìn)行比較分析,得出了它們在不同方面的優(yōu)劣和特點。該研究對于開發(fā)者在選擇合適的前端框架時提供參考。 Vue 是一款由

    2024年02月13日
    瀏覽(24)
  • React與Vue:前端框架的比較

    在前端開發(fā)領(lǐng)域,React和Vue是兩個備受矚目的框架。它們都提供了構(gòu)建用戶界面的強大工具,但它們在實現(xiàn)方式、性能和設(shè)計理念上存在一些關(guān)鍵差異。本文將深入探討這兩個框架之間的主要區(qū)別。 首先,讓我們從數(shù)據(jù)流的角度來看。在Vue中,數(shù)據(jù)流是雙向的,這意味著組件

    2024年01月20日
    瀏覽(16)
  • qiankun微服務(wù)怎么用,怎么實現(xiàn)集成react和vue

    Qiankun 是一個能夠幫助開發(fā)者實現(xiàn)微前端的框架,它可以支持多種前端框架的混合開發(fā),包括 React、Vue 等。下面我將詳細(xì)介紹如何使用 Qiankun 實現(xiàn)集成 React 和 Vue。 Qiankun 是一個基于 Single-SPA 的微前端解決方案,它是由阿里巴巴前端團(tuán)隊開發(fā)的。Qiankun 提供了一套完整的微前端

    2024年02月13日
    瀏覽(29)
  • JavaScript 框架比較:Angular、React、Vue.js

    在 Web 開發(fā)領(lǐng)域,JavaScript 提供大量技術(shù)??晒┻x擇。其中最典型的三套組合,分別是 MERN、MEAN 和 MEVN。這些首字母相同的選項各自代表不同的技術(shù)加工具組合。為了在這些技術(shù)棧中做出明智選擇,讓我們先從核心組件聊起,再對各自前端框架(React、Angular 和 Vue)進(jìn)行簡化比

    2024年01月20日
    瀏覽(36)
  • 【前端打怪升級日志之微前端框架篇】微前端qiankun框架子應(yīng)用間跳轉(zhuǎn)方法

    參考鏈接 qiankun官網(wǎng):微應(yīng)用之間如何跳轉(zhuǎn)? 1.主應(yīng)用、子應(yīng)用路由都是hash模式 ? ?主應(yīng)用根據(jù) hash 來判斷微應(yīng)用,無需考慮該問題 2.主應(yīng)用根據(jù)path判斷子應(yīng)用 方法 實現(xiàn) 適用條件 參數(shù)傳遞 存在問題 a標(biāo)簽跳轉(zhuǎn) a href=\\\"/toA\\\"/a 頁面重新刷新,原來的狀態(tài)丟失,用戶體驗不好 h

    2024年02月07日
    瀏覽(25)
  • 前端開發(fā)框架生命周期詳解:Vue、React和Angular

    作為前端開發(fā)者,掌握前端開發(fā)框架的生命周期是非常重要的。在現(xiàn)代Web應(yīng)用開發(fā)中,Vue.js、React和Angular是三個最流行的前端開發(fā)框架。本篇博客將詳細(xì)解讀這三個框架的生命周期,包括每個階段的含義、用途以及如何最大限度地利用它們。通過詳細(xì)的代碼示例和實用的技巧

    2024年02月13日
    瀏覽(28)
  • React與Vue性能對比:兩大前端框架的性能

    React和Vue是當(dāng)今最流行的兩個前端框架,它們在性能方面都有著出色的表現(xiàn)。 React的加載速度: 初次加載:由于React使用了虛擬DOM(Virtual DOM)技術(shù),它可以通過比較虛擬DOM樹與實際DOM樹的差異來進(jìn)行高效的重繪。這使得React在初次加載時相對較快,因為它只會更新需要修改的

    2024年02月03日
    瀏覽(29)
  • 前端(十一)——Vue vs. React:兩大前端框架的深度對比與分析

    前端(十一)——Vue vs. React:兩大前端框架的深度對比與分析

    ??博主:小貓娃來啦 ??文章核心: Vue vs. React:兩大前端框架的深度對比與分析 在當(dāng)今快速發(fā)展的前端領(lǐng)域中,Vue和React作為兩個備受矚目的前端框架,已經(jīng)成為許多開發(fā)者的首選。這兩個框架憑借其出色的設(shè)計和強大的功能,在構(gòu)建現(xiàn)代化、高效性能的Web應(yīng)用方面扮演著

    2024年02月14日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包