总结 vite + qiankun + vue3 遇到的坑

本文档详细记录了使用 Vite、Qiankun 和 Vue3 构建微前端应用时遇到的问题及解决方案,包括主应用和子应用的配置、子应用如何调用主应用的功能、静态资源处理、npm-run-all 工具的使用,以及项目的运行和打包流程。
摘要由CSDN通过智能技术生成

总结 vite + qiankun + vue3 遇到的坑


github 地址:https://github.com/zhousihang/vite-qiankun-vue3
node 版本:16.15.0

一、主应用(main)

  1. 首先通过 npm init vite@latest 创建主应用,项目名 main,框架 vue + ts 。
  2. 在 main 项目安装 qiankun 。
    npm install qiankun -S
    
  3. 在 main/src 文件下创建 qiankun 文件夹 index.ts 文件,这里放置微应用的注册信息。
    	import {
          registerMicroApps, start } from 'qiankun'
    	registerMicroApps([{
         
    	    name: 'demo1',
    	    entry: process.env.NODE_ENV === 'development' ? 'http://localhost:8081' : '/demo1/',
    	    container: '#container',
    	    activeRule: '/demo1'
    	  },
    	  {
         
    	    name: 'demo2',
    	    entry: process.env.NODE_ENV === 'development' ? 'http://localhost:8082' : '/demo2/',
    	    container: '#container',
    	    activeRule: '/demo2'
    	  }
    	])
    	start()
    
  4. 在 main 项目 main.ts 引入微应用注册信息 (上面那文件)
    import './qiankun'
    

    主应用这样就配置好了

二、子应用

  1. 同样通过 npm init vite@latest 创建主应用,项目名 demo1 以及 demo2,框架 vue + ts。
    所有子应用配法一样 demo1 跟 demo2,这里统称子应用。
  2. 子应用不需要安装 qiankun,但需要安装 vite-plugin-qiankun,在 main.ts 以及 vite.config.ts 里引入。

    main.ts(示例):

    // @ts-nocheck
    import {
          App, createApp } from 'vue'
    import {
          createRouter, createWebHistory } from 'vue-router'
    import {
          renderWithQiankun, qiankunWindow } from 'vite-plugin-qiankun/es/helper'
    import app from './App.vue'
    import routes from './router'
    
    let root: App
    
    // renders 生命周期函数
    renderWithQiankun({
         
      mount (props: any) {
          render(props) },
      bootstrap (props: any) {
         },
      unmount () {
          root
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值