支付宝框架UmiJs(五米)

news/2024/7/19 12:53:45 标签: Umi, react, js, dva, 前端框架

最近有发现了一套dva过后的新的React应用框架--UmiJs(当然也可叫做“优米”或者“五米”),网址:https://umijs.org/zh-Hans/,github地址:https://github.com/umijs/umi。

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

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

具有以下几点特性:

1、高性能

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

2、开箱即用

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

3、多端

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

4、扩展性

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


安装方法:

    用 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的目录结构:


一定要记得pages目录是强约定目录哦。

小伙伴,有什么要说的呢?谈一下,大家对支付宝这套新出框架“五米”的感想吧?


http://www.niftyadmin.cn/n/719482.html

相关文章

请实现一个js脚本,要求做到将数字转化为千分位表示如:10000 转化为10,000

请实现一个js脚本&#xff0c;要求做到将数字转化为千分位表示如&#xff1a;10000 ----> 10,00010000121213 ----> 10,000,121,213 今天无意中看到这道题目&#xff0c;想了4种解决方式&#xff0c;和大家分享一下&#xff1a; //法一 function parseNum(num){va…

stm32之595(spi芯片)

595是一款串转并的芯片&#xff1b; &#xff08;三极管的功能&#xff09; 1 /*Include---------------------------*/2 #include"stm32f10x_lib.h" //包含所有的头文件3 #include<stdio.h>4 5 //----------------函数声明--------------------6 void…

为企业级框架和应用而生--Egg.js

一. Quick Start Egg是一个强约束的Node框架&#xff0c;这也会其和Express/Koa最大的不同&#xff0c;后者对开发者相对宽松&#xff0c;主要体现在目录结构&#xff0c;编写方式等均可以自定义。Egg对目录结构等有一系列要求&#xff0c;幸运的是&#xff0c;虽然官方文档几乎…

第四章:Django模型——admin后台管理

1. 通过 Django自带的admin 后台来管理用户&#xff0c;管理刚刚创建的 发布会表和嘉宾表 打开文件位置&#xff1a;sign/admin.py 文件 2. 在 admin.py 文件中将 发布会表和嘉宾表 添加到 admin 中。 3. 访问 admin 地址&#xff1a; http://localhost:8000/admin 需要登陆用…

郁闷死了 今天删了一个raid 卷 没有做备份 有么有大神教我恢复一下啊

今天接到一个hp xw8600的小型工作站&#xff0c; 以前是win7 &#xff0c; 现在 &#xff0c;需要安装xp &#xff0c; 操作系统 。拿到手问了一下c盘有哪些东西要的帮考到D盘去了 &#xff0c;&#xff08;没有考到移动磁盘 悲剧从现在开始 &#xff09;。 用优盘启动 &#x…

Visual studio 2012编译Tbb40关于std::Copy_exception的错误解决

问题&#xff1a;编译时出现错误&#xff1a; d:\tbb40_20120613oss\include\tbb\tbb_exception.h(357) : error C2039: “copy_exception”: 不是“std”的成员 d:\tbb40_20120613oss\include\tbb\tbb_exception.h(357) : error C3861: “copy_exception”: 找不到标识符 搜…

react前端框架dva(二)

dva的8个基础概念&#xff1a;数据流向数据的改变发生通常是通过用户交互行为或者浏览器行为&#xff08;如路由跳转等&#xff09;触发的&#xff0c;当此类行为会改变数据的时候可以通过 dispatch 发起一个 action&#xff0c;如果是同步行为会直接通过 Reducers 改变 State …

java实现文件复制粘贴功能

java编程思想中讲到了IO流的思想&#xff0c;以前对于java基础总是不够深入&#xff0c;浅尝辄止&#xff0c;如今碰到语句插桩的时候就感到书到用时方恨少啊&#xff01; 文件的复制涉及到源文件和新文件&#xff08;无需手动创建&#xff09;&#xff0c;给出源文件的路径和文…