前言
本项目由传统mvc架构重构成前后端分离项目,模块众多,前台页面有100+,后台页面有30+。主导本次重构对我个人而言,是一次非常难得的经历。这将会是一个系列博客,记录在重构中遇到的问题及解决方案。
基础架构
首先页面基础架构为多spa,即按照功能模块将总体架构划分为10个大模块,模块内部全部为spa,这样的架构是借鉴自后端微服务架构的思考, 即有spa架构的开发便捷,又有多页应用的隔离与易于维护,同时亦可以做异构项目(即选用不同架构)。
ps:某些文章将类似这种架构称为“微”前端,我不认同这种叫法。虽然有借鉴与后端微服务,但是这种生造名词的做法我个人是不认同,相比后端微服务,这种架构本质上就是传统多页应用与spa的结合, 是权衡妥协的结果。
技术选型
当时考虑商城需要快速迭代开发的性质,结合国内生态框架选型为vue全家桶。亦为了后期便于维护及团队协作开发,引入TS,形成了vue全家桶+TS+elementUI的架构。
总结与反思
诚然这种松耦合的架构有利于开发维护,有利于多人协作,但是任何架构皆有其妥协的地方,即必有不足之处。
经过一年多的开发,我觉得这种架构对于管理层在划分模块时需要有一定的架构思维及全局观。基础组件有些需要重复引入(稍微增加了些开发成本)。
