乘风破浪 激流勇进
你好!欢迎来看Tuziki's Planet !
前端工程脚手架工具架构设计
作者:tutu 日期:2024-04-25
这是一份XMind知识图谱的导出大纲
1. 现有业务需求和架构
1.1 分析当前架构
- 1.1.1 现状
- 1.1.2 技术栈
- 1.1.3 代码组织方式
- 1.1.4 开发流程
- 1.1.5 CI/CD
1.2 收集项目需求
- 1.2.1 业务类型分类
- 1.2.2 未来的业务
1.3 收集成员需求
- 1.3.1 需求
- 1.3.2 期望
2. 系统架构方案设计
2.1 技术选型
- 2.1.1 Vue
- 2.1.2 React
- 2.1.3 Angular
- 2.1.4 TypeScript
- 2.1.5 微信小程序
2.2 设计模块化结构
- 2.2.1 主流程功能
- 2.2.2 命令行操作步骤
- 2.2.3 模版初始化
- 2.2.4 动态修改模版
- 2.2.5 GUI界面交互
- 2.2.6 业务组件模版
- 2.2.7 UI型组件模版
2.3 工具架构的性能
- 2.3.1 包解析
- 2.3.2 懒加载
- 2.3.3 代码切割
- 2.3.4 图片压缩
2.4 规范文档
- 2.4.1 用户使用文档
- 2.4.2 工程开发文档
- 2.4.3 版本迭代计划
3. 编码开发
3.1 开发环境
- 3.1.1 Node.js
- 3.1.2 npm、yarn
- 3.1.3 pnpm
3.2 核心逻辑
3.2.1 生成目录结构(创建工程、初始化项目、启动、编译打包、测试、发布部署)
- 3.2.1.1 download-git-repo从git仓库中拉取项目
- 3.2.1.2 git这里也可以使用simple-git
- 3.2.1.3 handlebars.js创建模版引擎(推荐)
- 3.2.1.3.1 创建模版
- 3.2.1.3.2 根据用户输入添加个性化配置
- 3.2.1.3.3 定制插件和框架的版本
- 3.2.1.4 创建模版也可以考虑ejs
- 3.2.1.5 ora异步的终端操作动画spinner,配合chalk一起使用甚好(推荐)
- 3.2.1.6 clui终端图形库
- 3.2.1.7 yargs解析命令行参数(推荐),读取process里面的参数也可以
- 3.2.1.8 fs-extra在fs模块基础上增强更多功能复制、移动文件
3.2.2 配置文件(默认配置+用户输入)
- 3.2.2.1
.babelrc
- 3.2.2.2
webpack.config.js
- 3.2.2.3
vite.config.ts
- 3.2.2.4 默认配置+用户输入
3.2.3 组件加载
3.2.4 demo示例
3.2.5 CI/CD
3.3 用户交互
- 3.3.1 commander.js命令行操作
- 3.3.2 inquirer.js交互式命令行
- 3.3.3 chalk.js给命令行添加不同的颜色符号
- 3.3.4 log-symbols为打日志添加彩色符号
- 3.3.5 figlet.js生成开篇的ASCII的艺术字效果
- 3.3.6 clear清除终端
4. 集成公共组件库
4.1 通用UI组件库封装(npm方式管理和加载)
- 4.1.1 按钮
- 4.1.2 下拉框
- 4.1.3 输入框
- 4.1.4 单选复选框
- 4.1.5 ...
- 4.1.6 npm方式管理和加载
4.2 业务型组件(模版化管理和加载)
- 4.2.1 canvas绘图
- 4.2.2 fabirc绘图
- 4.2.3 3D绘图
- 4.2.4 角色权限管理
- 4.2.5 菜单管理
- 4.2.6 图表库
- 4.2.7 ...
- 4.2.8 模版化管理和加载
4.3 文档说明
5. 集成自动化测试
5.1 选择自动化测试框架
- 5.1.1 Jest
- 5.1.2 Mocha
- 5.1.3 Cypress
5.2 编写测试用例
- 5.2.1 单元测试
- 5.2.2 集成测试
5.3 集成CI/CD
- 5.3.1 将自动化测试集成到CI/CD管道中
6. 集成CI/CD
6.1 测试环境
- 6.1.1 已有流水线 or 自研的脚手架工程
6.2 灰度环境
- 6.2.1 已有流水线
6.3 生产环境
- 6.3.1 已有流水线
7. 发布
7.1 发布到 npm publish
7.2 作为本地工程部署
8. 测试和反馈
8.1 内部评审:邀请同事对系统架构和脚手架工具的源码进行CodeReview
8.2 原型测试:在新的项目上应用,或者重构一部分老的项目
8.3 反馈优化:根据反馈调整优化
9. 推广实施
9.1 培训材料准备
- 9.1.1 资料
- 9.1.2 教程
- 9.1.3 网址
9.2 逐步迁移
- 9.2.1 逐步改造迁移一些需要被改造的老项目
9.3 监控效果
- 9.3.1 追踪新的脚手架工具所造成的影响,确保满足预期目标
希望这种格式符合你的需求!如果需要进一步调整,请随时告诉我。
返回列表
返回顶部←