咚咚技术栈
半城云的前端技术栈
当前咚咚来客的前端团队以 react 技术栈为主,其他的框架优缺点各有千秋,因为不在公司的使用范围所以不做展开叙述。
1.工具
1.1 基础的开发环境
1.1.1 npm/yarn
推荐使用 npm。
yarn 安装依赖目前发现了主要问题有:eslint 安装失败、缺少提交检测。不强制使用源,建议用官方源。
1.1.2 nodejs
不强制版本,但建议在 14 以上。
1.1.3 IDE - VSCode
咚咚来客统一使用 VSCode 编辑器,需要在插件一栏安装Prettier - Code formatter、ESlint、Todo Tree、GitLens、TSLint、Bcy DevTools for VSCode插件。同时可选择适合自己的额外插件。
2.框架
基础框架
2.1.1 umijs
umi,中文可发音为乌米,是一个可插拔的企业级 react 应用框架。umi 以路由为基础的,支持类 next.js 的约定式路由,以及各种进阶的路由功能,并以此进行功能扩展,比如支持路由级的按需加载。然后配以完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求,目前内外部加起来已有 50+ 的插件。
2.1.2 antd
antd 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。
目前咚咚来客中后台 pc 端都在使用该 ui 框架。
2.1.3 Taro
Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 / RN 等应用。
2.1.4 taro-ui
基于 taro 的官方 ui 框架,很长时间没有人维护了,零零散散的 bug 很多,在项目中用到的地方较少,后期会考虑替换。
3.其他
3.1.1 单元测试
TODO 当前此流程缺失,需完善
3.1.2 socketio
配合后端使用的插件,即时聊天需要用到,后端目前使用 hyperf,最高的 socketio 版本是 2.x(官网最新版本是 4.x)。
3.1.3 indexdb
IndexedDB 是一种使用浏览器存储大量数据的方法,它创造的数据可以被查询,并且可以离线使用。
最后更新于