个人一直以来很喜欢阿里系的前端产品,语雀,钉钉都很不错,后端egg在项目中也体验不错,目前为止
阿里已经提供了一整套可以全部由js可以完成的项目解决方案,我们叫它阿里全家桶吧

如果有过react的实战以及egg\koa\express的项目经验的伙伴,强烈推荐学习了解以下框架

框架介绍

Dva

由阿里架构师 sorrycc 带领 team 完成的一套前端框架,在作者的 github 里是这么描述它的:”dva 是 react 和 redux 的最佳实践”。

dva 是体验技术部开发的 React 应用框架,将上面三个 React 工具库包装在一起,简化了 API,让开发 React 应用更加方便和快捷。
dva = React-Router + Redux + Redux-saga

传送入口
image.png

Antd

是阿里的一套开箱即用的中台前端/设计解决方案,UI框架。
antd 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。
目前版本已经出到4.15.x
image.png

Umi

一套可插拔的企业级 react 应用框架,同样由dva作者 sorrycc 完成。他在Umi中引入了 UI 工具 antd,打包工具 roadhog,路由 react-router和状态管理器 dva,做到了可插拔机制。

umi官方入口

image.png

为什么不是?

create-react-app

create-react-app 是基于 webpack 的打包层方案,包含 build、dev、lint 等,他在打包层把体验做到了极致,但是不包含路由,不是框架,也不支持配置。所以,如果大家想基于他修改部分配置,或者希望在打包层之外也做技术收敛时,就会遇到困难。

next.js

next.js 是个很好的选择,Umi 很多功能是参考 next.js 做的。要说有哪些地方不如 Umi,我觉得可能是不够贴近业务,不够接地气。比如 antd、dva 的深度整合,比如国际化、权限、数据流、配置式路由、补丁方案、自动化 external 方面等等一线开发者才会遇到的问题。

安装-Umi

推荐使用 yarn 管理 npm 依赖,并使用国内源(阿里用户使用内网源)。

上手

  1. # 创建目录
  2. $ mkdir myapp && cd myapp
  3. # 安装依赖
  4. $ yarn add umi
  5. # 创建页面
  6. $ npx umi g page index --typescript --less
  7. # 启动开发
  8. $ npx umi dev

脚手架

  1. mkdir myapp && cd myapp
  2. yarn create @umijs/umi-app
  3. npx @umijs/create-umi-app

测试

image.png

增加umi全局工具

  1. yarn add @umijs/preset-ui -D
  2. $ UMI_UI=1 umi dev

项目配置有很多亮点可以参考官网,比如集成webpack analyer分析
.env

  1. ANALYZE=1

image.png