背景:由于团队业务扩展较快的原因,项目从一个,两个到三个;为了提高项目的可维护性,于是决定了重构。两个月的时间,有限的知识储备,完成了第一次重构。
一、重构我都做了什么?
- 参考monorepo的思想,合并项目、拆分组件
- JS迁移到TS
- 首页优化
- css规范处理
- 添加单元测试
- 添加前端监控
二、参考monorepo的思想,合并项目、拆分组件
1.合并项目
其实对于我们团队的这三个项目,有很多公共的组件,就要考虑是否可以将这些公用组件提取,提高项目可维护性。具体操作方式,可以先看一张图片,country和star就是代表的两个不同的项目,通过在config中的配置来决定当前启动的项目。
更多的细节以及仓库可以参考我这篇文章多个项目提取共用组件的解决方案。
2.拆分组件
考虑需要提取或者拆分的:组件、静态资源、以及样式。当然对于拆分后组件绝对路径的引用,还是要考虑的。这块的配置我已经写到了appConfig.j文件中s(上面的链接中有源码),对于我们这三个项目,我提取了components,views,assets,styles,当然该提哪些部分,还是需要依照项目来定。
三、JS迁移到TS
刚开始接触TS也许并不能感受到它的强大,但是当项目变大的时候,TS真的给我们能提高很多的开发效率,降低维护成本。
当然,目前很多公司已经在向TS迁移项目,我们也不例外。不过