umi-next
umi-next copied to clipboard
Umi 4 deps pre-bundle plan
记录一下 Umi 4 依赖预打包的进展和阻碍;注意,该列表不包含 rc.6 前已经预打包成功的模块
- [ ] css-loader
- 状态:❌ 无法预打包
- 依赖:bundler-webpack
- 备注:源码中含有 产物路径动态引入,目前的预打包方案不支持部分产物 exclude
- [ ] postcss
- 状态:❌ 无法预打包
- 依赖:bundler-esbuild、bundler-vite、bundler-webpack
- 备注:css-loader 依赖 postcss,所以在无法预打包 css-loader 的情况下,预打包 postcss 也没有意义
- [ ] @vitejs/plugin-react
- 状态:🚧 进行中 #673
- 依赖:bundler-vite
- 备注:源码用了动态 import,子依赖没法打包,只能用后置脚本替换产物路径指向 bundler-utils
- [ ] postcss-preset-env
- 状态:🚥 暂不处理
- 依赖:bundler-esbuild、bundler-vite、bundler-webpack
- 备注:依赖比较复杂,内层还依赖了 autoprefixer、browserlist、caniuselite 等其他 Umi 子包也依赖的包,要发挥出最好的预打包效果就得全部提到顶层单独处理,成本比较高,所以暂不做处理
- [ ] @svgr/core
- 状态:🚧 进行中
- 依赖:bundler-vite、bundler-webpack
- 备注:types 的类型声明路径有问题暂时会打包失败,已提 PR https://github.com/gregberge/svgr/pull/693 等上游发版
- [x] less
- 状态:✅ 已完成 #490
- 依赖:bundler-esbuild、bundler-vite、bundler-webpack
- 备注:由于 bundler-vite 无法和 less-loader 一样指定编译器路径,所以只能添加后置脚本确保 node_modules/less 指向 bundler-utils
- [x] express
- 状态:✅ 已完成 #490
- 依赖:bundler-vite、bundler-webpack、@umijs/server、@umijs/mfsu