微前端乾坤js实践

微前端乾坤js实践
最新回答
萌妹子

2026-07-03 02:06:37

微前端乾坤js实践总结

微前端是一种通过多个团队独立发布功能来共同构建现代化Web应用的技术手段,旨在解决单体应用演变成巨石应用后的不可维护问题。乾坤js(qiankun)是基于single-spa封装的微前端框架,提供了开箱即用的API,支持任意技术栈的应用接入,并具备样式隔离、JS沙箱、资源预加载等特性。以下是在React中接入乾坤微前端的实践步骤:

  1. 使用Lerna管理多包项目

    安装Lerna:npm i lerna -g

    初始化Lerna仓库:git init lerna-qiankun && cd lerna-qiankun,然后执行lerna init

    在packages目录下创建主应用和子应用项目,如main-qiankun、one-qiankun等

  2. 创建React主应用

    使用create-react-app创建项目:create-react-app main-qiankun --template typescript

    进入项目目录并释放webpack配置:cd main-qiankun,然后执行npm eject

    安装react-router-dom:npm install react-router-dom

    创建路由页面并配置App.tsx

    安装qiankun:npm i qiankun -S

    在主应用中添加qiankun依赖及启动生命周期

  3. 创建React子应用

    同样使用create-react-app创建子应用项目,如one-qiankun

    进入项目目录并释放webpack配置,修改端口号以避免冲突

    安装react-router-dom并创建带有前缀的路由页面

    配置子应用的入口逻辑,包括独立访问和微前端挂载的生命周期函数

    修改webpack配置,添加library和libraryTarget以支持UMD格式打包

  4. Nginx配置

    配置主应用和子应用的Nginx服务器,确保正确代理和路由

    主应用监听8080端口,子应用监听8081端口,并配置跨域头以支持微前端通信

  5. 访问与验证

    访问主应用地址(如localhost:8080),应能看到子应用界面嵌入在主应用中

通过以上步骤,成功实现了React应用接入乾坤微前端框架,达到了技术栈无关、独立开发部署、增量升级和独立运行时的核心价值。后续可进一步探索主子应用间的数据交互与传递。