咚咚技术栈

半城云的前端技术栈

当前咚咚来客的前端团队以 react 技术栈为主,其他的框架优缺点各有千秋,因为不在公司的使用范围所以不做展开叙述。

1.工具

1.1 基础的开发环境

1.1.1 npm/yarn

推荐使用 npm。

yarn 安装依赖目前发现了主要问题有:eslint 安装失败、缺少提交检测。不强制使用源,建议用官方源。

1.1.2 nodejs

https://nodejs.org/en/

不强制版本,但建议在 14 以上。

1.1.3 IDE - VSCode

咚咚来客统一使用 VSCode 编辑器,需要在插件一栏安装Prettier - Code formatter、ESlint、Todo Tree、GitLens、TSLint、Bcy DevTools for VSCode插件。同时可选择适合自己的额外插件。

2.框架

基础框架

2.1.1 umijs

https://v2.umijs.org/

umi,中文可发音为乌米,是一个可插拔的企业级 react 应用框架。umi 以路由为基础的,支持类 next.js 的约定式路由,以及各种进阶的路由功能,并以此进行功能扩展,比如支持路由级的按需加载。然后配以完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求,目前内外部加起来已有 50+ 的插件。

2.1.2 antd

https://ant.design/index-cn

antd 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。

目前咚咚来客中后台 pc 端都在使用该 ui 框架。

2.1.3 Taro

Tarojs

Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 / RN 等应用。

2.1.4 taro-ui

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 是一种使用浏览器存储大量数据的方法,它创造的数据可以被查询,并且可以离线使用。

最后更新于