React + Umi + Dva + Antd 简述 及创建项目过程简述

2023-11-18

React(你的第一个组件 – React)

React是前端三大主流框架之一。你可以在React里传递多种类型的参数,如声明代码,帮助你渲染出UI、也可以是静态的HTML DOM元素、也可以传递动态变量、甚至是可交互的应用组件

//安装react框架 (此处推荐使用npx) npx如果本地不具备,需要先进性安装
安装npx
cnpm install npx -g 

//初始化react项目
npx create-react-app xxx

Umi(快速上手)

Umi,中文可发音为乌米,是可扩展的企业级前端应用框架。Umi 以路由为基础的,同时支持配置式路由和约定式路由,保证路由的功能完备,并以此进行功能扩展。然后配以生命周期完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求。

简单来说,Umi就是一整套可以开箱即用的框架,其中集成了React,webpack,react-router(更简洁的路由方式)等内容,可以运行命令后,傻瓜式开发

//首先需要确保本地的node版本为10.13 或以上
//个人建议使用yarn进行项目的依赖管理及安装
cnpm install yarn -g 

//先创建目录 且 进入目录
mkidr umi_project && cd umi_project

//初始化创建项目
yarn create @umijs/umi-app  或者 使用npx @umijs/create-umi-app

或者使用如下方案进行创建
npm create umi  (当执行此命令以后,会提示选择一系列的依赖,ui库等内容)

Dva(https://ant.design/docs/react/introduce-cn介绍 | DvaJShttps://ant.design/docs/react/introduce-cn)

dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架。

dva可以分为主要的三个部分,models、services 和 views。其中,views层负责页面上的展示;services层里面主要写一些请求后台接口的方法;models层存放了各种数据,并对数据进行相应的交互

//安装dva
cnpm install dva-cli g

Antd(https://ant.design/docs/react/introduce-cn)

Ant Design是一套企业级 UI 设计语言和 React 组件库,它内含超多的前端组件,例如Table表格、Modal弹窗、Tootip文字提示等等,antd把它们封装成了一个个的‘Html标签’,再配合这些组件的API,使得它们非常的方便灵活。

此框架可以基于Umi进行选择性安装依赖,可根据实际情况进行处理

项目创建

1》以下项目,使用umi+npm为基础进行创建,后续安装过程中进行拓展

2》低版本node不兼容react的部分内容,需要进行升级或者采用nvm进行node版本的管理

(windows下的nvm搭建可参考 http://t.csdn.cn/DrqX0

3》如果windows下对创建项目过程中的依赖项无法进行选择,可以参考下方链接:http://t.csdn.cn/cyNYa

项目初始化

  1. 运行命令 npm create umi
  2. 选择项目相关拓展(此处采用最基础版本)选择以后回车
  3. 选择项目的包管理工具(可根据实际情况来决定,此处选择cnpm)
  4. 由于网络问题,此处我选择的为taobao源,大家可根据实际情况进行选择

至此,项目的配置项已经选择完成,稍等片刻,项目即可初始化完成

 

 项目启动

1》运行cnpm install 进行项目依赖的安装 

2》运行 npm run dev 即可启动项目,复制访问ip 端口到浏览器,即可看到如下页面:

 

 生成的项目目录如下:

 项目内细节概述

  1. 路由

        路由文件位于/src/.umirc.ts中进行配置

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React + Umi + Dva + Antd 简述 及创建项目过程简述 的相关文章

随机推荐

  • 【Django】Python+Django 图文教程

    Django新手图文教程 本文面向 有python基础 刚接触web框架的初学者 环境 windows7 python3 5 1 pycharm专业版 Django 1 10版 pip3 一 Django简介 百度百科 开放源代码的Web应
  • 字节跳动测试岗面试挂在2面,复盘后,我总结了失败原因,决定再战一次...

    先说下我基本情况 本科不是计算机专业 现在是学通信 然后做图像处理 可能面试官看我不是科班出身没有问太多计算机相关的问题 因为第一次找工作 字节的游戏专场又是最早开始的 就投递了 投递的是游戏测试开发岗 字节是自己投的第一家公司 也是第一家
  • 【NLP】通过迁移学习加速 AI 模型训练

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • Java机试题

    整理自Java经典编程50题 面试笔试机试 腾讯云开发者社区 腾讯云 1 回文数 public static boolean palindrom Integer integer String str1 String valueOf inte
  • Kibana在Centos上开机启动

    1 需要下载kibana 去官网下 2 解压到自己指定的目录下 我是放到了 usr local下 3 执行 vi usr lib systemd system kibana service 插入下面内容 Unit Description k
  • /dev/zero和/dev/null的区别

    可以通过使用dd if dev zero of archive test dbf bs 8k count 1000000 来测试磁盘的纯写入性能 使用dd if file of dev null 来测试磁盘的纯读取性能 使用dd if fi
  • 紫光同创 FPGA 开发跳坑指南(三)—— 联合 Modelsim 仿真

    Modelsim 是 FPGA 开发中重要的 EDA 设计仿真工具 主要用于验证数字电路设计是否正确 紫光 Pango Design Suite 开发套件支持联合 Modelsim 仿真 这里作简要的介绍 添加仿真库 方法一 打开 Pang
  • 实现mint操作(参考pancake)

    区块链发展越来越好 nft已经火了很久 今天写一下如何用js web3js 调用合约 实现mint nft 简单的调用 引入一些依赖 根据需要 有一些是其他功能的 import useActiveWeb3React from web3 ho
  • mysql read loop_mysql数据库游标的使用

    Mysql在5 0版本支持在存储过程中使用游标 游标声明必须出现在处理程序声明变量和条件的声明后 游标的使用如下 CREATE PROCEDURE curdemo BEGIN DECLARE done INT DEFAULT FALSE D
  • hive数据恢复

    truncate删除hive的表能恢复吗 0 jdbc hive2 localhost 10014 default gt create table test2 id int name string row format delimited
  • 在SpringBoot中利用nacos对数据源进行动态刷新

    一 重写DruidAbstractDataSource类 这里为什么要重写这个类 因为DruidDataSource数据源在初始化后 就不允许再重新设置数据库的url和userName 注意 类所在的包名必须为 com alibaba dr
  • MySQL 触发器

    文章目录 1 简介 2 行级与语句级触发器 3 触发时机 4 触发器优缺点 5 创建触发器 语法 示例 6 查看触发器 7 删除触发器 参考文献 1 简介 触发器 Trigger 是与表关联的命名数据库对象 当表发生特定事件时激活 触发器的
  • 概念解析

    注1 本文系 概念解析 系列之一 致力于简洁清晰地解释 辨析复杂而专业的概念 本次辨析的概念是 合成孔径雷达中运动补偿和自聚焦的联系与差别 概念解析 合成孔径雷达运动补偿与自聚焦的关系研究 基于二维空变运动补偿的机动平台大斜视SAR稀疏自聚
  • java.lang.ClassCastException: java.lang.Long cannot be cast to java.util.Date at org.hibernate.type.TimestampType.deepCopyNotNul

    在配置一对多的时候 OneToMany mappedBy recevier cascade CascadeType REMOVE OneToMany mappedBy sender cascade CascadeType REMOVE Ma
  • 日常学习--练手

    1 page source爬取页面源码 from selenium import webdriver import re driver webdriver Chrome driver get https www cnblogs com ca
  • mysql中如何取得分组中最大值的数据?全网最有效的方法

    大家都知道 MySQL有分组查询子句 group by 面试官就问你了 不是让你找到一个表中最大的值 而是让你找到最大值的整行数据 这个时候简单的分组是搞不定了 需要用到 inner join 子句 先说下inner join 子句的作用
  • 【MyBatis】Mybatis使用SqlSessionFactory加载xml文件

    1 概述 MyBatis框架主要是围绕着SqlSessionFactory这个类进行的 这个的创建过程如下 定义一个Configuration对象 其中包含数据源 事务 mapper文件资源以及影响数据库行为属性设置settings 通过配
  • python read函数返回值_python read()方法定义及使用(实例解析)

    今天这篇文章我们来了解一下pythonread方法 不知道没什么关系 因为今天讲的就是python之中的read 方法 以及知晓read是什么意思 所以今天我们在今天的文章之中来了解一下吧 概述 read 方法用于从文件读取指定的字节数 如
  • 数据结构——非线性结构(图)

    文章目录 一 非线性结构的概述 二 图的基本概念 1 定义 2 无向图 有向图 2 1 无向图 2 2 有向图 2 3 简单图 2 4 多重图 3 顶点的度 出度 入度 3 1 对于无向图 3 2 对于有向图 4 边的权 带权图 网 5 点
  • React + Umi + Dva + Antd 简述 及创建项目过程简述

    React 你的第一个组件 React React是前端三大主流框架之一 你可以在React里传递多种类型的参数 如声明代码 帮助你渲染出UI 也可以是静态的HTML DOM元素 也可以传递动态变量 甚至是可交互的应用组件 安装react框