个人一直以来很喜欢阿里系的前端产品,语雀,钉钉都很不错,后端egg在项目中也体验不错,目前为止
阿里已经提供了一整套可以全部由js可以完成的项目解决方案,我们叫它阿里全家桶吧
如果有过react的实战以及egg\koa\express的项目经验的伙伴,强烈推荐学习了解以下框架
框架介绍
Dva
由阿里架构师 sorrycc 带领 team 完成的一套前端框架,在作者的 github 里是这么描述它的:”dva 是 react 和 redux 的最佳实践”。
dva 是体验技术部开发的 React 应用框架,将上面三个 React 工具库包装在一起,简化了 API,让开发 React 应用更加方便和快捷。
dva = React-Router + Redux + Redux-saga
Antd
是阿里的一套开箱即用的中台前端/设计解决方案,UI框架。antd
是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。
目前版本已经出到4.15.x
Umi
一套可插拔的企业级 react 应用框架,同样由dva作者 sorrycc 完成。他在Umi中引入了 UI 工具 antd,打包工具 roadhog,路由 react-router和状态管理器 dva,做到了可插拔机制。
umi官方入口
为什么不是?
create-react-app
create-react-app 是基于 webpack 的打包层方案,包含 build、dev、lint 等,他在打包层把体验做到了极致,但是不包含路由,不是框架,也不支持配置。所以,如果大家想基于他修改部分配置,或者希望在打包层之外也做技术收敛时,就会遇到困难。
next.js
next.js 是个很好的选择,Umi 很多功能是参考 next.js 做的。要说有哪些地方不如 Umi,我觉得可能是不够贴近业务,不够接地气。比如 antd、dva 的深度整合,比如国际化、权限、数据流、配置式路由、补丁方案、自动化 external 方面等等一线开发者才会遇到的问题。
安装-Umi
推荐使用 yarn 管理 npm 依赖,并使用国内源(阿里用户使用内网源)。
上手
# 创建目录
$ mkdir myapp && cd myapp
# 安装依赖
$ yarn add umi
# 创建页面
$ npx umi g page index --typescript --less
# 启动开发
$ npx umi dev
脚手架
mkdir myapp && cd myapp
yarn create @umijs/umi-app
或 npx @umijs/create-umi-app
测试
增加umi全局工具
yarn add @umijs/preset-ui -D
$ UMI_UI=1 umi dev
项目配置有很多亮点可以参考官网,比如集成webpack analyer分析
.env
ANALYZE=1