支付宝框架UmiJs(五米)_极快的类 Next.js 的 React 应用框架

时间: 2018-04-04阅读: 3041标签: 框架

最近有发现了一套dva过后的新的react应用框架--Umijs(当然也可叫做“优米”或者“五米”),

网址:https://umijs.org/zh-Hans/
github地址:https://github.com/umijs/umi

不知道,对UmiJs这套框架有所了解的小伙伴们,对这套框架有什么看法呢?请留言哦!

也是刚刚了解这套框架,那么废话少说我们来切入主题吧。umi 就是一套零配置,按最佳实践进行开发的前端框架。


UmiJs特性:

1、高性能

    PWA、按需加载、tree-shake、scope-hoist、智能提取公共文件、Critical css、preload、hash build、preact 等等,并且,你相同的代码会随着 umi 的改进而不断提升性能。

2、开箱即用

    你只需一个依赖 umi 就可启动开发,而无需安装 react、preact、react-router、eslint、babel、jest 等。

3、多端

    一键切换单页和多页,一份代码同时部署到 cdn、容器、云凤蝶等环境,详见部署文档。

4、扩展性

    umi 的整个生命周期都是插件化的,甚至就是由大量插件组成,比如 http mock、service worker、layout、高清方案等,都是一个个的插件。


UmiJs开发体验

基于 create-react-app 实现更多体验上的优化,比如按需编译(不管有项目多大启动时间都不超过 10s)、dev server 断线重连、配置的校验、自动生效以及提示到行等。


UmiJs的使用:

安装方法:

    用 npm 安装 umi :

npm i umi -g

   或者用 yarn :

yarn global add umi

    然后可以 umi -v 检查版本号: 

umi -v  
umi@1.0.0

创建应用:

创建应用并进入。 

mkdir myapp  
cd myapp

启动 dev 服务器:

umi dev  
  
Compiled successfully!  
You can now view Your App in the browser.  
  Local:            http://localhost:8000/  
Note that the development build is not optimized.  
To create a production build, use npm run build.

创建我们第一个umi页面:

在 pages 目录里新建首页。

echo 'export default () => <div>Index Page</div>' > pages/index.js

如果你是 Window 系统,可以手动新建 pages/index.js,并填入:

export default () => <div>Index Page</div>;

然后在浏览器中打开 http://localhost:8000/,你会看到 Index Page 。

构建应用:

umi build  
  
Compiled successfully.  
File sizes after gzip:  
  52.09 KB  static/umi.2b7e5e82.js  
  186 B     static/__common-umi.6a75ebe1.async.js

构建产物会生成在 dist 目录:

tree ./dist  
  
dist  
├── index.html  
└── static  
    ├── __common-umi.6a75ebe1.async.js  
    └── umi.2b7e5e82.js  
  
1 directory, 3 files

部署:

npm i serve -g  
cd dist  
serve  
  
Serving!  
  
- Local:            http://localhost:5000     
- On Your Network:  http://{Your IP}:5000  
  
Copied local address to clipboard!


这样UmiJS就可以算是上手了。

我们来看一下umi的目录结构:

.
├── dist/                          // 构建产物目录
└── src/                           // 源码目录,可选,把里面的内容直接移到外面即可
    ├── layouts/
    │   └── index.js               // 全局布局
    ├── pages/                     // 页面目录,里面的文件即路由
        ├── .umi/                  // dev 临时目录,需添加到 .gitignore
        ├── .umi-production/       // build 临时目录,会自动删除
        ├── document.ejs           // html 模板
        ├── 404.js                 // 404 页面
        ├── page1.js               // 页面 1,任意命名
        └── page2.js               // 页面 2,任意命名
    ├── global.css                 // 约定的全局样式文件,自动引入,也可以用 global.less
    ├── _routes.json               // 路由配置,和文件路由二选一
├── test/                          // 测试用例放这里
├── .umirc.js                      // umi 配置
├── .webpackrc                     // webpack 配置
└── package.json

一定要记得pages目录是强约定目录哦。小伙伴,有什么要说的呢?谈一下,大家对支付宝这套新出框架“五米”的感想吧?


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/588

关闭

请停止学习框架

我们都是程序员,我们需要与技术保持同步。每一天我们都要学习编程语言、框架与库。我们了解的现代开发工具越多越好,比如Angular,React,Riot,Vue,Ember,Knockout

React VS Vue选哪个更好?

Javascript 框架以及 HTML 和 CSS 已成为每个现代软件项目前端开发的重要组成部分。 2020 年将会是为你的 Web 项目选择正确的 javascript 框架的又一个年头。如果你正在阅读本文,相信你对下一个程序的技术栈感到困惑。

你对JavaScript掌握多少?讲解Js框架结构

对于任何一个程序员来说,最关注的两个问题无非就是:时间复杂度和空间复杂度。第一部分介绍了 V8 为改进 JavaScript 执行时间所做的速度提升和优化,第二部分则将着重介绍内存管理方面的知识。

新框架(新工具,语言)从入门到精通的正确姿势

新框架(新工具,语言),一、了解概念,把握思路,二、迅速实战,见招拆招,三、深入文档,求人不如求己,四、掌握原理,有恃无恐,五、源码分析,自立门户。如果你已经熟悉一门计算机语言,当再学习其他语言的时候,会发现他们几乎是大同小异,对比着学习,会令你事半功倍。

Truffle设置Solidity版本

你只需要在compilers.solc.version处指定要启用的solidity编译器版本就行了,truffle会自动从官方拉取相应版本的编译器,无需你手动下载配置。

合理使用CSS框架,加速UI设计进程

现在的网站风格已经与它们很早之前的样子有了很大的不同。如果现在再回过头去看有些公司最初的网站UI,我想大多数互联网用户都很难认得出来。所以也多亏了网页设计技术的创新,现在网站不仅仅是只能显示信息

十种Web开发的Node.JS框架

众所周知,Node.js能够通过提供不同的框架,使得Web应用程序的开发过程更为方便且高效。下面让我们来一起浏览一下,目前能够加速Web开发的十种Node.JS框架。

JavaScript 框架的探索与变迁

近几年可谓是 JavaScript 的大爆炸纪元,各种框架类库层出不穷,它们给前端带来一个又一个的新思想。从以前我们用的 jQuery 直接操作 DOM,到 BackboneJS、Dojo 提供监听器的形式,在到 Ember.js、AngularJS 数据绑定的理念,再到现在的 React、Vue 虚拟 DOM 的思想。

常用的十大 NodeJS 框架

Node.js 是基于 Chrome V8 javascript 引擎构建的开源、跨平台运行时环境。事件驱动的非阻塞I/O 模型使,NodeJS 能开发极其轻便且高效的 Web 应用程序。客户端 和 服务端 脚本中使用相同的语言

基于wsgiref模块DIY一个web框架

Web框架(Web framework)是一种开发框架,用来支持动态网站、网络应用和网络服务的开发。这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方法

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!