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

使用vite-plugin-qiankun插件, 將應(yīng)用快速接入乾坤(vue3 vite)

這篇具有很好參考價(jià)值的文章主要介紹了使用vite-plugin-qiankun插件, 將應(yīng)用快速接入乾坤(vue3 vite)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

qiankun官網(wǎng)
vite-plugin-qiankun插件github地址:vite-plugin-qiankun

主應(yīng)用

1、安裝乾坤

$ yarn add qiankun # 或者 npm i qiankun -S

2、在主應(yīng)用中注冊(cè)微應(yīng)用(main.ts)

import { registerMicroApps, start } from 'qiankun';

registerMicroApps([
  {
    name: 'react app', // app name registered
    entry: '//localhost:7100',
    container: '#vue-app-container',
    activeRule: '/yourActiveRule',
  },
  {
    name: 'vue app',
    entry: { scripts: ['//localhost:7100/main.js'] },
    container: '#vue-app-container',
    activeRule: '/yourActiveRule2',
  },
]);

start();

3、掛載

在App.vue掛載微應(yīng)用節(jié)點(diǎn)

  <div id="vue-app-container" />

子應(yīng)用

1、安裝插件

qiankun目前是不支持vite的,需要借助插件完成文章來源地址http://www.zghlxwxcb.cn/news/detail-547932.html

npm install vite-plugin-qiankun

2、修改vite.config.ts

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import qiankun from 'vite-plugin-qiankun'

// useDevMode 開啟時(shí)與熱更新插件沖突
const useDevMode = true // 如果是在主應(yīng)用中加載子應(yīng)用vite,必須打開這個(gè),否則vite加載不成功, 單獨(dú)運(yùn)行沒影響

export default defineConfig(({ mode }) => {
  const root = process.cwd() //  process.cwd()返回當(dāng)前工作目錄
  const env = loadEnv(mode, root)

  let config = {
    base: env.VITE_BASE_API,
    plugins: [
    vue(),
    qiankun('vue-app', { // 微應(yīng)用名字,與主應(yīng)用注冊(cè)的微應(yīng)用名字保持一致
    { useDevMode }
    })
  ],
    resolve: {
      alias: {
        '@': _resolve('src')
      }
    },
    server: {
      host: 'x.x.x.x', // 暴露內(nèi)網(wǎng)ip
      port: 8000,
      cors: true,
      origin: mode === 'development' ? env.VITE_ORIGIN_DEV : env.VITE_BASE_API
    },
    output: {
      // 把子應(yīng)用打包成 umd 庫格式
      library: `${子應(yīng)用名}-[name]`,
      libraryTarget: 'umd',
      jsonpFunction: `webpackJsonp_${子應(yīng)用名}`
    },
  }
  return config
})

3、修改main.ts

import { createApp } from 'vue'
import App from './App.vue'
import { createRouter, createWebHashHistory } from 'vue-router'
import {
  renderWithQiankun,
  qiankunWindow
} from 'vite-plugin-qiankun/dist/helper'

let router = null
let instance = null
let history = null

instance = createApp(App)

declare global {
  interface Window {
    __POWERED_BY_QIANKUN__: any
    __INJECTED_PUBLIC_PATH_BY_QIANKUN__: any
  }
}

function render(props = {}) {
  const { container } = props as any
  history = createWebHashHistory(
    qiankunWindow.__POWERED_BY_QIANKUN__ ? '/calendar-mobile' : '/'
  )
  router = createRouter({
    history,
    routes
  })

  instance.use(router)
  //   instance.use(store);
  instance.mount(
    container ? container.querySelector('#app') : document.getElementById('app')
  )
  if (qiankunWindow.__POWERED_BY_QIANKUN__) {
    console.log('我正在作為子應(yīng)用運(yùn)行')
  }
}

// some code
renderWithQiankun({
  mount(props) {
    console.log('viteapp mount')
    render(props)
  },
  bootstrap() {
    console.log('bootstrap')
  },
  unmount(props) {
    console.log('vite被卸載了')
    instance.unmount()
    instance._container.innerHTML = ''
    history.destroy() // 不卸載  router 會(huì)導(dǎo)致其他應(yīng)用路由失敗
    router = null
    instance = null
  }
})

if (!qiankunWindow.__POWERED_BY_QIANKUN__) {
  render({})
}

到了這里,關(guān)于使用vite-plugin-qiankun插件, 將應(yīng)用快速接入乾坤(vue3 vite)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Vite處理html模板插件之vite-plugin-html

    Vite處理html模板插件之vite-plugin-html

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 背景:項(xiàng)目中需要使用模板html動(dòng)態(tài)處理比如 icon 、title。我的項(xiàng)目里是需要在不同的打包指令下,打包的結(jié)果中index.html 中title 和 icon都不一致。之前的項(xiàng)目使用的是 html-webpack-plugin 插件。安裝該插件的

    2024年02月07日
    瀏覽(25)
  • 微前端-qiankun:vue3-vite 接入 vue3、nuxt3、vue2、nuxt2等子應(yīng)用

    一、了解qiankun.js qiankun - qiankun 1.1、簡(jiǎn)單, 任意 js 框架均可使用。微應(yīng)用接入像使用接入一個(gè) iframe 系統(tǒng)一樣簡(jiǎn)單,但實(shí)際不是 iframe。 1.2、完備, 幾乎包含所有構(gòu)建微前端系統(tǒng)時(shí)所需要的基本能力,如 樣式隔離、js 沙箱、預(yù)加載等。解耦,與技術(shù)無關(guān)。 1.3、生產(chǎn)可用, 已

    2024年02月03日
    瀏覽(46)
  • 【vite+vue3.2 項(xiàng)目性能優(yōu)化實(shí)戰(zhàn)】打包體積分析插件rollup-plugin-visualizer視圖分析

    【vite+vue3.2 項(xiàng)目性能優(yōu)化實(shí)戰(zhàn)】打包體積分析插件rollup-plugin-visualizer視圖分析

    rollup-plugin-visualizer 是一個(gè)用于Rollup構(gòu)建工具的插件,它可以生成可視化的構(gòu)建報(bào)告,幫助開發(fā)者更好地了解構(gòu)建過程中的文件大小、依賴關(guān)系等信息。 使用 rollup-plugin-visualizer 插件,可以在構(gòu)建完成后生成一個(gè)交互式的HTML報(bào)告,其中包含了構(gòu)建過程中的各種統(tǒng)計(jì)信息,如文

    2024年02月07日
    瀏覽(39)
  • vite打包優(yōu)化vite-plugin-compression的使用

    vite打包優(yōu)化vite-plugin-compression的使用

    當(dāng)前端資源過大時(shí),服務(wù)器請(qǐng)求資源會(huì)比較慢。前端可以將資源通過Gzip壓縮使文件體積減少大概60%左右,壓縮后的文件,通過后端簡(jiǎn)單處理,瀏覽器可以將其正常解析出來。 如果瀏覽器的請(qǐng)求頭中包含 c ontent-encoding: gzip,即證明瀏覽器支持該屬性。 前端使用gzip壓縮代碼很容

    2024年02月09日
    瀏覽(23)
  • idea插件推薦——mybatis log plugin快速查看運(yùn)行SQL

    idea插件推薦——mybatis log plugin快速查看運(yùn)行SQL

    我們?cè)诰帉懘a的時(shí)候一定會(huì)編寫SQL,簡(jiǎn)單的SQL我們一般不會(huì)出錯(cuò)但是如果遇到了mybatis中的復(fù)雜動(dòng)態(tài)SQL,我們可能就會(huì)出現(xiàn)一些問題,為了在開發(fā)自測(cè)階段及時(shí)發(fā)現(xiàn)處理問題,我們需要快速查看編譯得到的SQL, log4j 的打印的 sql 日志一鍵生成執(zhí)行的sql語句如下: ? 我們會(huì)發(fā)

    2024年02月12日
    瀏覽(22)
  • 挖坑記錄:vite使用sass 報(bào)錯(cuò):[plugin:vite:css] expected “;“.

    挖坑記錄:vite使用sass 報(bào)錯(cuò):[plugin:vite:css] expected “;“.

    vite 引入sass依賴包,然后在vite.config.ts配置一下scss,這里就不詳細(xì)說,不會(huì)的自行百度。 運(yùn)行 yarn dev 項(xiàng)目 瀏覽器報(bào)錯(cuò): 終端報(bào)錯(cuò): 這時(shí)候一臉懵逼的,想著依賴包已經(jīng)引入,vite.config.ts也配置了,開始以為是版本問題,或者以為是stylelint 樣式約束問題。然后搗鼓了半天,

    2024年02月16日
    瀏覽(19)
  • 【vite+vue3.2 項(xiàng)目性能優(yōu)化實(shí)戰(zhàn)】使用vite-plugin-cdn-import進(jìn)行CDN加速優(yōu)化項(xiàng)目體積

    【vite+vue3.2 項(xiàng)目性能優(yōu)化實(shí)戰(zhàn)】使用vite-plugin-cdn-import進(jìn)行CDN加速優(yōu)化項(xiàng)目體積

    CDN (Content Delivery Network)即內(nèi)容分發(fā)網(wǎng)絡(luò),是一種通過在全球范圍內(nèi)分布式部署服務(wù)器來加速網(wǎng)絡(luò)內(nèi)容傳輸?shù)募夹g(shù)。CDN加速的原理是,當(dāng)用戶請(qǐng)求訪問某個(gè)資源時(shí), CDN會(huì)根據(jù)用戶的地理位置和網(wǎng)絡(luò)狀況,自動(dòng)選擇離用戶最近的服務(wù)器來響應(yīng)請(qǐng)求 。如果該服務(wù)器上已經(jīng)緩存了

    2024年02月03日
    瀏覽(97)
  • 微前端使用qiankun實(shí)現(xiàn),react主應(yīng)用同時(shí)兼顧react,vue3,umi子應(yīng)用

    微前端使用qiankun實(shí)現(xiàn),react主應(yīng)用同時(shí)兼顧react,vue3,umi子應(yīng)用

    理解 :我們可以簡(jiǎn)單理解為微前端是將一個(gè)項(xiàng)目拆分成多個(gè)模塊,每個(gè)微前端模塊可以由不同的團(tuán)隊(duì)進(jìn)行管理,并可以自主選擇框架,并且有自己的倉庫,可以獨(dú)立部署上線 應(yīng)用場(chǎng)景 :1.當(dāng)公司代碼較老需要使用新的技術(shù)棧時(shí)我們可以使用微前端。2.多個(gè)團(tuán)隊(duì)同時(shí)開發(fā)時(shí),每

    2024年02月09日
    瀏覽(21)
  • Vue3 + Vite + Ts自己封裝的基礎(chǔ)組件庫發(fā)布npm ,npm安裝使用(Volar )支持TS 類型提示功能(vite-plugin-dts 使用)

    Vue3 + Vite + Ts自己封裝的基礎(chǔ)組件庫發(fā)布npm ,npm安裝使用(Volar )支持TS 類型提示功能(vite-plugin-dts 使用)

    在開發(fā)Vue3 + Ts項(xiàng)目時(shí):使用自己二次封裝的基礎(chǔ)組件,沒有 Ts類型提示 ,不能像 Element-plus 鼠標(biāo)停在標(biāo)簽或者屬性上就能提示當(dāng)前組件有哪些屬性(即props)及其屬性的類型,如下圖是 Element-plus 組件的 使用Vs Code Volar的提示: 此插件的作用:為打包的庫里加入聲明文件(即生

    2024年02月09日
    瀏覽(26)
  • 第3集丨webpack 江湖 —— 插件(plugin)的安裝和使用

    webpack plugins 插件可以完成更多 loader 不能完成的功能。插件( plugin )的使用一般是在 webpack 的配置信息 plugins 選項(xiàng)中指定。 Webpack 本身內(nèi)置了一些常用的插件,還可以通過 npm 安裝第三方插件。 webpack-dev-server 可用于快速開發(fā)應(yīng)用程序。類似于 node.js 階段用到的 nodemon 工具,每

    2024年02月15日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包