Skip to content

Instantly share code, notes, and snippets.

@sorrycc
Created September 2, 2018 08:27
Show Gist options
  • Save sorrycc/66b535bb941516274341512ec3a49549 to your computer and use it in GitHub Desktop.
Save sorrycc/66b535bb941516274341512ec3a49549 to your computer and use it in GitHub Desktop.

umi 是什么?

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

umi 是蚂蚁金服的底层前端框架,已直接或间接地服务了数百个应用,包括 java、node、H5 无线、离线(Hybrid)应用、纯前端 assets 应用、CMS 应用等。他已经很好地服务了我们的内部用户,同时希望他也能服务好外部用户。

他包含以下特性:

  • 📦 开箱即用,内置 react、react-router 等
  • 🏈 类 next.js 且功能完备的路由约定,同时支持配置的路由方式
  • 🎉 完善的插件体系,覆盖从源码到构建产物的每个生命周期
  • 🚀 高性能,通过插件支持 PWA、以路由为单元的 code splitting 等
  • 💈 支持静态页面导出,适配各种环境,比如中台业务、无线业务、egg、支付宝钱包、云凤蝶等
  • 🚄 开发启动快,支持一键开启 dllhard-source-webpack-plugin
  • 🐠 一键兼容到 IE9,基于 umi-plugin-polyfills
  • 🍁 完善的 TypeScript 支持,包括 d.ts 定义和 umi test
  • 🌴 与 dva 数据流的深入融合,支持 duck directory、model 的自动加载、code splitting 等等

What is umi?

umi is based on routing, supports next.js-like conventional routing, and various advanced routing functions, such as routing-level on-demand loading. Then with a complete plugin system, covering every life cycle from source code to build product, umi is able to support various functional extensions and business needs, currently umi have almost 50+ plugins in both community and inside company.

umi is the basic front-end framework of Ant Financial, and has served hundreds or thousands of applications directly or indirectly, including java, node, mobile app, Hybrid app, pure front-end assets app, CMS app, and more. umi has served our internal users very well and hopes that he can also serve external users well.

It has following features:

  • 📦 Out of box,built-in react、react-router, etc
  • 🏈 Next.js like and full featured routing conventions, also support configured routing
  • 🎉 Complete plugin system, covering every lifecycle from source code to production
  • 🚀 High performance, support PWA, route level code splitting, etc via plugin
  • 💈 Support static export, , adapt to various environments, such as console app, mobile app, egg, Alipay wallet, etc
  • 🚄 Fast dev startup, support enable dll and hard-source-webpack-plugin with config
  • 🐠 Compatible IE9, based on umi-plugin-polyfills
  • 🍁 Support TypeScript, including d.ts definition and umi test
  • 🌴 Deep integration with dva, support duck directory, automatic loading of model, code splitting, etc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment