当前位置: 首页 > article >正文

【react】react+umi4

目录

环境信息

创建项目


环境信息

开发环境 Node:18   npm  10(9也可以)    cnpm

如果需要安装环境或者切换node版本可以查看       node安装和配置 

创建项目

官网也有相关的教程

umi.js

使用 npx create-umi@latest在项目目录创建项目

npx create-umi@latest

上述代码输入后出现以下四个问题

目标文件夹的名称是什么?(随便起名)
选择 Umi应用模板 (有四个)想选哪个选哪个    按键∧∨ 上下选择


选择Npm客户端。开发环境下载的哪个选那个就可以


选择 Npm 注册表    选择淘宝镜像


完成后 cd 到创建的项目根目录文件下,然后输入npm run dev

如果有cnpm的话可以输入cnpm run dev

 按住Ctrl键+鼠标左键单击,点击:http://localhost:8001

 显示以下网页,以下网页是选择了Ant Design Pro

打开项目文件中的package.json中没有react

输入npm i umi react react-dom

 再次查看package.js

配置文件

可以看出大量的配置文件都在 .umirc.ts文件, 然后再看这个官方教程的解释

设置全局加载页面

1.根据文档,我们可以看出在src下loading.tsx就是全局的加载动画页面

2.在src下新建global.less,写一下loading动画的居中和loading的css动画

loading.tsx

export default () => {
  return (
    <div className="global-loading-body">
      <div className="loader">Loading...</div>
    </div>
  );
};

global.less

.global-loading-body {
  height: 100vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  .loader {
    color: #1a88ff;
    font-size: 12px;
    margin: 50px auto;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    position: relative;
    text-indent: -9999em;
    -webkit-animation: load4 1s infinite linear;
    animation: load4 1.3s infinite linear;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
  }
  @-webkit-keyframes load4 {
    0%,
    100% {
      box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em,
        0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
    }
    12.5% {
      box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em,
        0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }
    25% {
      box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0,
        0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }
    37.5% {
      box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em,
        0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    50% {
      box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em,
        0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    62.5% {
      box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em,
        0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
    }
    75% {
      box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em,
        2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em,
        -2em -2em 0 0;
    }
    87.5% {
      box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em,
        0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
    }
  }
  @keyframes load4 {
    0%,
    100% {
      box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em,
        0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
    }
    12.5% {
      box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em,
        0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }
    25% {
      box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0,
        0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }
    37.5% {
      box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em,
        0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    50% {
      box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em,
        0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    62.5% {
      box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em,
        0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
    }
    75% {
      box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em,
        2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em,
        -2em -2em 0 0;
    }
    87.5% {
      box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em,
        0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
    }
  }
}

待定更新中

码字不易,各位大佬点点赞呗


http://www.kler.cn/a/540093.html

相关文章:

  • 81页精品PPT | 华为流程与信息化实践与架构规划分享
  • Kafka 的消费offset原来是使用ZK管理,现在新版本是怎么管理的?
  • git rebase 和 git merge的区别
  • 【DeepSeek × Postman】请求回复
  • Bash (Bourne-Again Shell)、Zsh (Z Shell)
  • 测试中的第一性原理:回归本质的质量思维革命
  • 【centos安装mysql数据库】详细版
  • Unity3D引擎首次用于光伏仿真设计软件爆火
  • idea services快速创建多个服务实例
  • Redis简介与基础命令
  • 降维算法的数学基础
  • AF3 distogram_loss函数解读
  • 微信小程序案例2——天气微信小程序(学会绑定数据)
  • Java 开发面试全解析:15 个关键问题深度剖析
  • QNX800 virtual machine
  • Matlab自学笔记四十六:与日期向量、序列日期值、日期字符向量的转换
  • Elasticsearch+Kibana安装启动与操作教程
  • 手动配置IP
  • 开发一款类似《王者荣耀》的游戏是一个复杂的系统工程,涉及多个领域的知识和技术。以下是从多个角度详细阐述如何开发的思维。
  • 聚类算法概念、分类、特点及应用场景【机器学习】【无监督学习】
  • 如何将Excel的表格存为图片?
  • 【含文档+PPT+源码】基于微信小程序的乡村振兴民宿管理系统
  • 百度高德地图坐标转换
  • 基于C#语言的海康威视智能车牌识别系统
  • Spring Boot 线程池自定义拒绝策略:解决任务堆积与丢失问题
  • 2025年度Python最新整理的免费股票数据API接口