小程序的工程化
原创大约 3 分钟
如何推进小程序的工程化,其实就是如何在前端工程化的各个环节去推进小程序的工程化,沉淀出一套可复用的体系。
原则就是基于现状,先思考是否需要,再逐步推进;先解决有无,再解决好坏。
前端工程化
- 规范化
- 版本控制与协作
- 模块化与组件化
- 工具化
- 自动化测试
- 持续集成
- 监控与告警
从开发到上线的链路来看,小程序和一般的web项目还是稍有些不同的。懂得都懂。这里随便列举几个点
- 开发工具需要使用微信开发者工具
- 小程序的发布需要走小程序的发布流程且包大小有限制
- 小程序的开发版/体验版/正式版
规范化
- 制定代码规范
- 制定组件规范
- 制定项目规范
上篇《小程序的总结梳理》中有提到,小程序的技术栈是Taro,DSL是Vue3
那么我们就可以沿用前端的代码规范和组件规范,这点是降低了开发人员的心智负担。
项目规范的不同,主要是小程序有小程序的开发规范,这点需要开发人员去遵守。
版本控制与协作
- 版本控制
- 协作规范
这点也是沿用前端团队的协作规范,如果Git分支管理,Commit Message规范,Code Review规范,都是沿用的前端团队的规范。
模块化与组件化
- 模块化
- 组件化
这点的规范也是大同小异,不同点主要是需要遵循小程序的规范去实现模块化和组件化。例如分包,npm包的规范等。
工具化
工具化,个人觉得是贯穿整个前端工程化的,从项目初始化到项目上线,都需要工具化的支持。
- 脚手架
- 构建工具
- 调试工具
- 测试工具
- 发布工具
自动化测试
- 单元测试
- 性能测试
- 安全测试
这个点,目前我们团队还没有开展,后续会考虑开展。个人觉得是个痛点,做好了,对提升项目的稳定性,对测试团队的效率提升,都是有很大的帮助的。
持续集成
- 代码提交
- 代码发布
基于Taro提供一定的打包构建能力,我们团队目前是基于Jenkins的CI/CD + miniprogram-ci 来实现的
监控与告警
- 监控
- 告警
基于阿里云的ARMS去展开。