前端如何从零设计一套系统
这里我结合下重构现公司业务系统的经验做以下的说明
- 理解需求 (我们公司是基于旧系统完全重构,不过没有任何文档,需要自己去结合原有页面功能重构)
- 基于需求探讨技术方案 考虑领导建议逐步重构原有系统,且推荐使用vue,而前端目前就我一人,故采用vue框架。 项目主要为购买产品的客户提供数据监控服务,故不需要ssr方式来构建, 综上考虑,采用vue+vuex+axios+vue-router+elementUi组件库来搭建单页面应用,外加官方的vue-cli4来作为脚手架搭建系统
- 技术方案确定后,开始着手搭建项目框架,使用vue-cli建立项目,将项目目录结构按功能模块分成 api层、 components全局的公用组件层、 view层、 utils层、 静态资源assets层、 全局样式styles层、 router路由管理层、 store状态管理层、 permission全局权限管理层、 mixins全局混入层、 directies全局自定义指令层(项目元素拖拽指令,滚动指令等等自定义全局指令)、 filters全局的过滤器层 需要国际化的项目,还可额外加上国际化的配置层 等目录结构,通过抽象并解耦各功能模块到统一的结构中,方便代码管理,使项目更规范化,方便功能拓展以及后期维护管理
- 配置lint代码规范检验,严格点的可配置git-hook再服务器端配置
- 基本结构确定后,就着手开始各功能模块开发
- 开发接近尾声,考虑是否需要采用容器化方式部署,考虑是否采用k8s/docker等容器化技术,考虑补充添加dockerfile文件
- 依据需求确定测试用例
- 和运维同事确定部署方案,考虑采用jenkins等自动化部署工具部署
- 讨论补充添加监控系统,日志系统、补充项目技术文档,补充接口说明文档等等
- 考虑新旧系统并行运行可能的问题,新系统稳定后如何在保持原有访问链接不失效的情况下切换