在一般的中后台系统中,我们可以把前端的架构划分为三大部分:这分别是核心框架库,插件,公共机制。
先来说第一个核心框架库,这可以理解为是系统的基础框架技术选型,它对整个系统的迭代和开发至关重要,是系统的核心基础部分。比如像Vue,Vuex,Vue Router,或者说React,Redux,Router这样的,就属于核心框架库,这一部分选型是在前期完成的,需要慎重,因为它决定了整个系统以后的开发走向;
第二部分叫插件,或者叫中间件,这可以理解为工具库,比如UI框架库antd、element,图表工具库eCharts,3d库three.js等等,这是一些已经开发好了并在业界广泛使用的轮子库,直接使用,或者在这基础上结合我们的业务场景去做一些二次定制化开发(大多时候需要定制),可以极大地减轻我们的开发工作量,因为很多交互方式是业内通用的,我们并不需要从零开始去造轮子,这不仅费时费力,也可能会对很多边界情况或者说兼容情况欠考虑。
第三部分是公共机制,请注意,这是一个与我们的业务强耦合的一个部分,我们在已经选好了核心框架库和插件的情况下,当然可以零散地根据业务需求去进行开发,但是,在大型的团队协作中,这会极大地增加重复工作量,比如我们的错误拦截处理,是否每个人都需要在Promise.catch中做全局提示操作呢?显然是不需要。
所以公共机制存在的意义就在于:把一些公共的功能模块封装起来,以供其他开发人员使用,极大提升开发效率。核心在于封装。
在中后台系统中,这一般包括以下五个小部分:
1,UI组件库的二次封装。这针对一些极其常用的UI组件,主要是为了统一风格,以使用频率最高的table和form为代表;
2,请求插件的封装。以axios为例,主要是做后台请求发生错误的统一拦截显示,loading;
3,后台API请求的URL地址文件封装。这主要是为了统一管理,使得URL不会零散地分布在各个业务组件中,统一修改,统一替换公共域名等(即使在不正规的个人项目中这也属于基本操作);
4,权限和菜单的封装。我们知道中后台系统是分人员角色的,那么不同的角色就对应不同的权限,拿到的菜单也不一样;
5,格式化的封装。像中后台系统里面的很多格式是比较常见的,如身份证、电话号码、日期、金额、车牌号等,这些可用于一些前端校验和前端展示的场景,且在很多地方都会用到,所以非常有必要把一些常用的格式化操作放到全局。
来源:https://www.cnblogs.com/zhangnan35/p/12268594.html