vite-plugin-qiankun 使用教程

vite-plugin-qiankun 使用教程

项目地址:https://gitcode.com/gh_mirrors/vi/vite-plugin-qiankun

项目介绍

vite-plugin-qiankun 是一个用于在微前端中集成 qiankun 的 Vite 插件。Qiankun 是一个在同一页面中同时运行多个子应用的微前端解决方案,它可以让我们将一个大型应用拆分成多个小型的子应用,每个子应用可以独立开发、独立部署、独立升级,实现了应用的解耦和团队协作的目的。

vite-plugin-qiankun 实现了自动化分包、公共依赖、沙箱隔离等核心功能。它可以根据配置将子应用的代码自动分割至子应用的独立 chunk 中,同时打包出一个公共依赖的 chunk,并在提前预加载时只加载一次,减少了流量和加载时间。另外,它还为每个子应用生成了一个独立的沙箱,在同一页面中渲染多个子应用时不会相互影响,保证了应用的稳定性和可靠性。

项目快速启动

安装

使用 npm 安装 vite-plugin-qiankun

npm install @sh-winter/vite-plugin-qiankun --save-dev

配置

vite.config.ts 中注册插件:

import { defineConfig } from 'vite';
import qiankun from '@sh-winter/vite-plugin-qiankun';
import { name as packageName } from './package.json';

export default defineConfig({
  base: `/${packageName}/`,
  plugins: [
    qiankun(packageName)
  ]
});

子应用导出

在子应用中导出生命周期函数:

export async function bootstrap() {
  console.log('react app bootstraped');
}

export async function mount(props) {
  console.log('props from main framework', props);
  ReactDOM.render(<App />, document.getElementById('react15Root'));
}

export async function unmount(props) {
  const { container } = props;
  ReactDOM.unmountComponentAtNode(container ? container.querySelector('#react15Root') : document.getElementById('react15Root'));
}

应用案例和最佳实践

案例一:Vue3 + Vite + Qiankun

在一个项目中管理多个 Vue3 子应用,每个子应用独立开发和部署。

案例二:React + Vite + Qiankun

在一个项目中管理多个 React 子应用,每个子应用独立开发和部署。

最佳实践

  1. 独立开发和部署:每个子应用应独立开发和部署,确保团队协作的高效性。
  2. 公共依赖管理:合理管理公共依赖,减少重复加载,提升性能。
  3. 沙箱隔离:确保每个子应用的沙箱隔离,避免相互影响。

典型生态项目

1. Qiankun

Qiankun 是一个基于 Single-SPA 的微前端框架,支持多种前端框架的集成。

2. Vite

Vite 是一个基于 ES 模块的构建工具,提供了快速的开发体验和高效的构建速度。

3. Vue3

Vue3 是一个流行的前端框架,提供了响应式数据绑定和组件化开发的能力。

4. React

React 是一个用于构建用户界面的 JavaScript 库,提供了高效的虚拟 DOM 和组件化开发的能力。

通过结合这些生态项目,可以构建出高效、稳定、可扩展的微前端应用。

vite-plugin-qiankun 保留vite es特性,快速接入乾坤微前端子应用 vite-plugin-qiankun 项目地址: https://gitcode.com/gh_mirrors/vi/vite-plugin-qiankun

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姚蔚桑Dominique

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值