之前做一个大项目的时候用的是微前端框架乾坤,结合实际情况做了如下总结:
1.完成了多个项目聚合,独立开发打包
2.我们项目用不到微前端,只是项目相关很类似,需要放在一起管理。
3.安装依赖的时候需要安装基座,公共项目和真实项目,多次安装依赖。
结合上述要求与痛点我们需要在antd-pro框架做如下改造:
1.需要支持多个类似项目独立开发与打包
2.不需要引入其他框架和库
3.公用依赖包
解决的办法也不是很难主要利用的是APP_ROOT,具体操作如下:
/package.json
"sys": "cross-env APP_ROOT=examples/sys umi dev --port=8021",
"sub": "cross-env APP_ROOT=examples/sub umi dev --port=8022",
"corp": "cross-env APP_ROOT=examples/corp umi dev --port=8023",
"build:sys": "cross-env APP_ROOT=examples/sys umi build",
"build:sub": "cross-env APP_ROOT=examples/sub umi build",
"build:corp": "cross-env APP_ROOT=examples/corp umi build"
我们可以看到node_modules是引用的根目录下的node_modules,没有再去下载新的。
至此我们只需要小小的改造就能完成多个项目集合,且能独立打包运行,当然里面的问题肯定也还会有的,到时候会持续更新。