更小的安装大小

umi 的新版办显著的减少了包的大小,只有原来的 1/4。

为什么一定要升级 umi@3 - 图1

使用 tyarn 安装,3 和 2 的安装速度有很大的区别。umi@2 需要 73s, umi@3 只需要16s。这还是使用的国内镜像,如果是你 npm 用户,优势更加明显。人生苦短,更快的依赖安装速度可以减少我们的等待时间,提升开发效率。

更加简单的 API 和 TypeScript

以 Pro 的 Layout 为例,可以显著的减少 import 的数量。我们不再需要记忆相关的 api 从哪里来的,只需要从 umi 中引入即可。

  1. // umi@2
  2. import { connect } from 'dva';
  3. import { router } from 'umi';
  4. import router from 'umi/router'
  5. import Link from 'umi/Link'
  6. import { Dispatch } from 'dva';
  7. // umi@3
  8. import { Link, useIntl, connect, Dispatch,history } from 'umi';

这样对 TypeScript 的类型支持也更加优异。我们可以使用 ConnectProps Api 来快速拿到想要的 dispath, match, location 等 API。对于 Function 用户,我们也提供了 ConnectRC 来进行优化

  1. import { connect, ConnectRC, Dispatch, ConnectProps } from "umi";
  2. type ParamsType = { id: string };
  3. class Page extends React.Component<ConnectProps<ParamsType>> {
  4. render() {
  5. const { dispatch, location, match } = this.props;
  6. return null;
  7. }
  8. }
  9. const PageFunction: ConnectRC<{ onChange: () => void }, ParamsType> = ({
  10. onChange
  11. }) => {
  12. const { dispatch, location, match } = props;
  13. return null;
  14. };

官方插件集

  • plugin-access,权限管理
  • plugin-antd,整合 antd UI 组件,新增一键切换暗色主题
  • plugin-initial-state,初始化数据管理
  • plugin-layout,配置启用 ant-design-pro 的布局
  • plugin-locale,国际化能力
  • plugin-model,基于 hooks 的简易数据流

不喜欢 Pro 的权限管理 ,plugin-access 来帮你,layout 写起来比较累,可以试试 plugin-layout。不喜欢 dva,试试 plugin-model。插件提供了更多的能力,可以帮助你显著的减少样板文件和配置。

如何使用?

既然有这么多的好处,那应该如何使用呢,Ant Design Pro 已经支持 umi@3,你可以使用 yarn create umi 来新建一个项目。

  1. $ yarn create umi myapp
  2. ? Select the boilerplate type ant-design-pro
  3. ? 🤓 Which language do you want to use? TypeScript
  4. ? 🦄 Time to use better, faster and latest antd@4! Yes
  5. 正克隆到 'myapp'...
  6. > 🚚 clone success
  7. > Clean up...
  8. 📋 Copied to clipboard, just use Ctrl+V
  9. File Generate Done