Monorepo 项目实践
介绍 Monorepo : 是一种管理项目的方式,即将多个项目放在一个仓库中,这样可以方便地管理项目之间的依赖关系,提高代码复用性,减少重复代码,提高开发效率 项目管理工具 Lerna + Npm/Yarn/Pnpm Workspaces:一个快速、领先的构建系统,用于管理和发布来 自同一源码仓库的多个 JavaScript/TypeScript 软件包 Lerna-Lite + Npm/Yarn/Pnpm Workspaces:Lerna-Lite is a super light version of the original Lerna (Lerna-Lite 是原始 Lerna 的超轻版本) Yarn Workspaces Pnpm Workspaces 详见 Monorepo管理工具 微前端架构 Qiankun:可能是你见过最完善的微前端解决方案...
Qiankun 常见问题
Qiankun-Vite 插件 Qiankun 默认不能接入 Vite ,需要使用 vite-plugin-qiankun 插件,但是这个插件目前不支持 Qiankun的样式隔离 和 React的热更新 推荐使用 vite-plugin-qiankun-lite 插件,解决了上面的问题,并且简化了配置 Node 版本问题 Node 16 使用 vite-plugin-qiankun 插件启动时会报错 ReferenceError: ReadableStream is not defined,需要更改 cheerio 的版本(注意不要带 ^ 符号),详见:cheerio upgrade problem 123"devDependencies": { "cheerio": "1.0.0-rc.12"} Node 16 使用 Vite 时,也需要更改版本(其他版本也可自行尝试) 123"devDependencies": { "vite":...
React 原理浅析
前言 强烈推荐这篇文档 Build your own React !!!有动画和解释,能更好地理解 React 的原理 Github 仓库地址 也可以参考:React 核心原理浅析 参考文章:【鸣谢】 Build your own React React 核心原理浅析
Docker Compose 部署单机版 Nacos
Docker Compose 安装 前提准备版本说明 mysql:8.0.31 nacos/nacos-server:v2.2.2 spring-boot 2.6.13 spring-cloud 2021.0.5 spring-cloud-alibaba 2021.0.5.0 目录结构 获取 nacos 配置文件 拉取镜像 1docker pull nacos/nacos-server:v2.2.2 启动服务(这个服务能运行就行,主要是为了拷贝文件) 1docker run -d --name nacos -e mode=standalone -d -p 8848:8848 nacos/nacos-server:v2.2.2 从容器中复制所需文件到宿主机中 1234567# docker cp 容器名:文件 宿主机文件# 拷贝 logs 文件docker cp nacos:/home/nacos/logs/ /opt/docker/nacos/# 拷贝 conf 文件夹docker cp nacos:/home/nacos/conf/...
Qiankun 打包优化
文章参考下面两个 issues:提取公共依赖 doc、qiankun 如何复用公共依赖 思路 方式一:通过 CDN 引入公共依赖,并在主子应用中排除这些公共依赖。(如果 CDN网站 挂了,网站也就挂了,有风险) 方式二:将 CDN 资源下载到 public 文件夹下,并在主子应用中排除这些公共依赖。防止每个应用都在 public 中引入依赖,这里将 public 文件指定为 libs,统一存放公共依赖。 项目地址创建项目初始化项目 项目目录结构 123456789101112131415161718192021222324252627|── 项目根目录│ ├── libs # 存放公共依赖(使用cdn方式不需要这个文件夹)│ │ ├── react@18.3.1│ │ │ ├── react.development.js│ │ │ ├── react.production.min.js│ │ ├── react-dom@18.3.1│ │ │ ├──...