80 - 《近期 Umi 想做的事》

发布于 2022年3月22日

早上写了下最近 Umi 相关的想法,把脑子清空了下,下面是对外的部分,希望能给大家带来一些灵感。如果对 Umi 开发感兴趣,可以考虑参与下,门槛很低的,一个质量 ok 的 PR 即可加入 Umi Contributor 群,参与讨论和每周的 Umi 周会。

1️⃣ 支持 https(已认领)

证书基于 mkcert,没有配置 key 和 cert 时自动绑用户生成一个。

思路

1、支持配置 https: { key, cert, hosts } 开启,并可通过 key 和 cert 指定公私钥,可通过 hosts 指定绑定到本地进行调试的 host 地址
2、hosts 默认是 localhost + 127.0.0.1
3、如果没有配 key 或 cert,提醒用户,并通过 mkcert -cert-file umi.pem -key-file umi.key.pem hosts.join(' ') 自动生成到 __dirname 文件夹
4、如果没有 mkcert,提示用户安装,如果是 Mac,推荐用 brew install mkcert + brew install nss + mkcert -install 三行命令,如果是 Windows,引导到 https://github.com/FiloSottile/mkcert#windows,如果是 Linux,引导到 https://github.com/FiloSottile/mkcert#linux
5、主要实现代码在 bundler-webpack/src/server/server.ts 。

时间点:3.31

2️⃣ Monorepo 最佳实践(已认领)

解什么问题?

Monorepo 之前的大问题是慢,因为放在一个仓库后代码量变大了,但是有 turborepo 之后,这个问题已可大大缓解,今年值得尝试。稍重型项目会有自己的组件、文档等,通常还会有要拆子包的需求;蚂蚁中台大量微前端的应用,有在一个仓库维护主应用+多个子应用的需求。利用 Turborepo 还可实现 test、lint 等命令提速,拆地越细,由于有缓存,提速越多。

思路

1、基于 turborepo
2、拆分 web、docs、ui、config、tsconfig 等?

ACTION

1、一个脚手架,umijs 下独立仓库
2、一篇文档,Umi + Monorepo 最佳实践
3、整合到 create-umi,创建项目时让用户选择是 monorepo 还是 singlerepo
4、提供命令,一键切换普通项目为 Monorepo
5、内部:思考如何与 devopts 流程平台结合
6、内部:提供内部的 monorepo 脚手

内容预览已结束

此内容需要会员权限。请先登录以查看完整内容。