搭建react+ant design pro+umi 项目框架

一、 写本文的原因

我搭建react+antd+umi这个框架的原始资料主要是来源于(React+Umi4从零快速搭建中后台系统保姆级记录教程(一、项目创建及初始化))

而我写这篇文章的本意就是用来记录我用搭建时候的步骤汇总。

二、 npm和node版本

        我本地的npm 版本是:9.6.7

        

        我本地的node版本是:16.15.1

        

        并且我本地安装了yarn,而项目搭建的时候有使用到了yarn(这个看个人情况是否安装)。

        
        yarn 安装方式(安装的是全局的): npm install -g yarn

三、 开始搭建

        这里一共有3种搭建方式,方法一和方法二搭建出来的效果图是一样的,仅限于一个框架。而方法三搭建出来跟官网例子一样,有登录界面,并自带很多导航菜单例子,相对而言更完善。所以,可以根据需要来选择搭建方式。

1. 方法一:

        原始资料的搭建方式是使用 : npx create-umi@latest

安装成功后,使用npm start dev 将项目运行起来:

2. 方法二:

        如果上面那种方式安装不了,报错到自己不知道怎么解决,那就使用这种方法试试(我最开始就是用上面方法没安装好,才试了如下方法)。运行命令:npm create umi

 安装成功后,使用yarn start dev 将项目运行起来 :

3. 备注:

        以上两种方式安装都可以,第二种方式在后面选择的时候我选择了yarn安装。安装方式影响不大,看个人喜欢。但是值得注意的是,假如你用了yarn安装失败,想要再重新安装一次,那么重新安装的时候也只能使用yarn,因为npm和yarn在同一个项目中不能混用。除非你把原始文件夹删的干干净净后再重新安装。两种方式的运行效果都是一样的。

4. 路由配置

(1)方法一和方法二的说明

      从项目文件中内容可以看出,项目原始路由配置是在根目录的.umirc.ts 文件中,但是对我们来说,这样好似不太合理,所以,我们就将路由配置文件重新换个地方。

(2)配置方式更改

        (1) 在项目根目录下创建一个config文件夹,并在里面创建config.ts文件。

        (2)再把.umirc.ts 文件中的内容全部复制到config.ts文件中,并保存。

        (3) 删除原来的路由配置文件:.umirc.ts 文件(因为.umirc.ts优先级较高,如果这个文件不删,那么默认就会读取这个文件内的内容)。

        (4) 如果这是一个大项目,并且有很多页面,那么,这里可以将路由配置单独提出来写到一个文件中。例如,我在config文件夹下新增一个routes.ts文件,将路由配置部分挪过去,并在config.ts中引用routes.ts中的路由配置。

3. 方法三:

(1) 效果图

        我们先看最终效果图,可以看到与方法一和方法二的区别在于左侧菜单、页面颜色配置等。 

(2)搭建方式

         1)先运行命令,进行全局安装 :npm i @ant-design/pro-cli -g

               备注: 这里使用全局安装是为了以后创建此类项目可以用  pro create  XXX 快速创建,而不用再次安装ant-design/pro-cli -g ,所以接下来就使用此命令创建项目。

        2)在运行命令进行项目创建: pro create myProject

                ① 运行命令后要选择安装umi版本。这里我安装的是umi3。

                

                ② 然后选择安装的脚手架,我这里选择的是complete 完整的。

                

        ③ 然后就等它自动安装完成。

        ​​​               ​​​​​​ 

        ④  然后进入刚刚创建的项目文件夹,进行初始化操作(最好用管理员权限去操作,否则可能初始化不成功)。初始化操作可以使用npm和yarn两种。我使用的是yarn。

        

        ⑤ 依赖包安装后,就可以运行起来了(我用的是yarn),页面就是效果图上的样子。 

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/269018.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue 官方周报 #125 - 强制重新渲染Vue组件的最佳方法

Hi 👋 圣诞快乐🎄🎉 如果您需要强制重新渲染Vue组件,那么您很可能会遇到Vue的响应系统问题。根据我的经验,您可能没有正确使用Vue的响应系统。 但是在某些情况下确实需要强制重新渲染组件。一个例子是当您使用与Vue的…

压力应变电桥信号隔离放大变送器差分输入变送直流模块0-10mV/0-20mV/0-±10mV/0-±20mV转0-5V/0-10V/4-20mA

主要特性 DIN11 IPO 压力应变桥信号处理系列隔离放大器是一种将差分输入信号隔离放大、转换成按比例输出的直流信号导轨安装变送模块。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等行业。此系列模块内部嵌入了一个高效微功率的电源,向输入端和输…

Qt/C++控件设计器/属性栏/组态/可导入导出/中文属性/串口网络/拖曳开发

一、功能特点 自动加载插件文件中的所有控件生成列表,默认自带的控件超过120个。拖曳到画布自动生成对应的控件,所见即所得。右侧中文属性栏,改变对应的属性立即应用到对应选中控件,直观简洁,非常适合小白使用。独创属…

一个利用摸鱼时间背单词的软件

大家好,我是 Java陈序员。 最近进入了考试季,各种考试,英语四六级、考研、期末考等。不知道大家的英语四六级成绩怎么样呢? 记得大学时,英语四级都是靠高中学习积累的老本才勉强过关。 而六级则是考了多次&#xff…

免 费 搭 建 小程序商城,打造多商家入驻的b2b2c、o2o、直播带货商城

在数字化时代,电商行业正经历着前所未有的变革。鸿鹄云商的saas云平台以其独特的架构和先进的理念,为电商行业带来了全新的商业模式和营销策略。该平台涉及多个平台端,包括平台管理、商家端、买家平台、微服务平台等,涵盖了pc端、…

SD卡写保护怎么解除?这3个方法很实用!

“我的sd卡用了很久了,一直都可以正常使用的,但是最近不知道为什么,突然就显示sd卡写保护了。我无法存入任何数据,请问有什么方法可以解决该问题吗?” SD卡是一种常见的存储设备,被广泛应用于手机、相机、平…

HTTP分数排行榜

HTTP分数排行榜 介绍一、创建数据库二、创建PHP脚本三、上传下载分数四、测试 介绍 Unity中向服务器发送用户名和得分,并存入数据库,再讲数据库中的得分按照降序的方式下载到Unity中。 一、创建数据库 首先,我们要在MySQL数据库中建立一个…

台灯品牌哪个更适合考研用?五款品质好的台灯推荐

护眼台灯是当下十分热门火爆的照明工具,就算是在众多的照明器材中护眼台灯也凭借着自身独特优势的赢得了众多消费者的喜爱。但问题也接踵而至,消费者们要如何避开市面上光线刺眼、稳定性差的护眼台灯呢?关于护眼台灯如何选购的问题大家不用担…

使用静态HTTP进行缓存:提高网站性能的关键

大家好,今天我们来聊聊如何通过使用静态HTTP进行缓存,来提高网站的“奔跑速度”。没错,就像给网站穿上了一双“风火轮”,让它飞得更快! 首先,我们来了解一下什么是缓存。简单来说,缓存就是把你…

Python遥感影像深度学习指南(2)-在 PyTorch 中创建自定义数据集和加载器

在上一篇 文章中,我们Fast.ai 在卫星图像中检测云轮廓,检测物体轮廓被称为语义分割。虽然我们用几行代码就能达到 96% 的准确率,但该模型无法考虑数据集中提供的所有输入通道(红、绿、蓝和近红外)。问题在于,深度学习框架(如 Keras、Fast.ai 甚至 PyTorch)中的大多数语…

JavaOOP篇----第十六篇

系列文章目录 文章目录 系列文章目录前言一、a=a+b与a+=b有什么区别吗?二、final、finalize()、finally三、JDBC操作的步骤四、在使用jdbc的时候,如何防止出现sql注入的问题。前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击…

知行之桥EDI系统功能介绍之导入导出配置和嵌入式示例工作流

我们的产品团队正在简化用户使用已配置的 Arc Flows 的过程。我们主要通过两种方式改进了这种体验: 导入/导出配置嵌入式示例流 在本文中,我们将介绍这些新功能,以及它们如何使我们的用户更轻松地使用知行之桥 EDI 系统的工作流。 导入/导…

基于OpenCV的图像颜色与形状识别设计与实现实验指导书

基于OpenCV的图像颜色与形状识别设计与实现实验指导书 一、实验目的: 通过本实验,学生将了解图像颜色与形状的基本概念,并掌握使用OpenCV进行图像颜色与形状识别的方法。具体操作包括图像剪裁、颜色识别、轮廓检测。 二、实验器材&#xff…

C/C++ for循环的步长问题

在使用for循环中,我们使用最多的时或--。这都是循环1或-1。可以通过修改更新表达式来修改步长。如,我们可以根据需要将循环计数递增。在这种时候我们就不再使用i,而是使用的iin的表达式。实际上i就是ii1的缩写,i--是ii-1的缩写。 示例源码: …

Java商城免 费 搭 建:VR全景到SAAS,各种模式一网打尽!

一、技术选型 java开发语言:java是一种跨平台的编程语言,适用于大型企业级应用开发。使用java开发直播商城可以保证系统的稳定性和可扩展性。 spring boot框架:spring boot是一个快速构建spring应用的框架,简化了开发过程&#xf…

SATA和M.2接口的异同点

SATA和M.2接口是连接存储设备的两种常见接口,它们在物理尺寸、传输速度、线缆和接头以及适用设备类型等方面有着显著的异同点。 物理尺寸 SATA接口通常用于2.5英寸硬盘、3.5英寸硬盘等传统机械硬盘以及SSD,而M.2接口则是一种较为新型的接口标准&#xff…

mysql原理--基于成本的优化

1.什么是成本 我们之前老说 MySQL 执行一个查询可以有不同的执行方案,它会选择其中成本最低,或者说代价最低的那种方案去真正的执行查询。不过我们之前对 成本 的描述是非常模糊的,其实在 MySQL 中一条查询语句的执行成本是由下边这两个方面组…

【并发编程篇】读锁readLock()和写锁writeLock()

文章目录 🛸情景引入⭐解决问题 readLock()和writeLock()都是ReadWriteLock接口中定义的方法,用于获取读锁和写锁。 readLock()方法返回一个读锁,允许多个线程同时获取该锁,以进行并发读取操作。如果当前已有一个写锁或其他线程正…

redis哨兵+redis主从复制(在虚拟机centos的docker下)

1.安装docker Docker安装(CentOS)简单使用-CSDN博客 2.redis主从复制 redis主从复制(在虚拟机centos的docker下)-CSDN博客 3.编辑3个redis配置 cd /etc mkdir redis-sentinel cd redis-sentinel/ wget http://download.redis.io/redis-stable/sentinel.confcp sentinel.co…

分享一款适合小白制作企业期刊的网站

随着互联网的普及,越来越多的企业开始意识到在线内容的重要性。而制作企业期刊,不仅能提升企业的品牌形象,还能增强与客户的互动。然而,对于许多初入行的企业来说,制作期刊似乎是一项艰巨的任务。 给大家分享一款适合小…