使用Umi搭建React项目

环境准备

一、首先确保有 node环境,并确保 node 版本是 14 或以上。(推荐用 nvm 来管理 node 版本,windows 下推荐用 nvm-windows)

nvm使用教程

二、然后需要包管理工具。node 默认包含 npm,但也可以选择其他方案,其中umi团队更加推荐使用pnpm。

安装 pnpm,如果使用nvm控制node版本,推荐将pnpm下载到node v16.14以上的环境中,因为后续创建项目时对node版本有依赖。

npm install -g pnpm
// 查看pnpm版本
pnpm -v

三、全局安装umi

npm install -g umi

创建项目

创建

注意: Node版本一定要高于16.14。否则会有报错

在这里插入图片描述

PNPM

pnpm dlx create-umi@latest

NPM

npx create-umi@latest

YARN

yarn create umi

参数选项

使用 create-umi 创建项目时,可以带有参数

pnpm dlx create-umi@latest --no-git   // 不管使用哪种包管理工具,将参数拼接即可。
optiondescription
--no-git创建项目,但不初始化 Git
--no-install创建项目,但不自动安装依赖

选择初始模版

在这里插入图片描述

​ 这四种 UmiJS 模板在创建项目时提供了不同的基础结构和功能:

  1. Simple App:

    这是最基本的模板,提供了一个简单的 UmiJS 应用程序框架,适合于新手入门或者构建不复杂的小型项目。它包含了基本的项目结构和配置,能够快速开始编写 React 应用。

  2. Ant Design Pro:

    这个模板集成了 Ant Design 组件库,并提供了一个更完整、更复杂的项目结构和预设配置。适合构建中大型应用,它包含了路由、状态管理、国际化、权限控制等常用功能的配置,帮助快速搭建企业级应用。

  3. Vue Simple App:

    尽管 UmiJS 主要是为 React 设计的,但也提供了一个 Vue 的简单模板。它类似于 Simple App,但是使用了 Vue.js 框架而不是 React。

  4. Umi Plugin:

    这个模板可以创建一个 UmiJS 的插件。Umi 插件可以扩展 UmiJS 的功能,添加额外的特性或定制化。

根据不同需求选择对应模版即可。

选择包管理工具

官方推荐使用pnpm。

在这里插入图片描述

是否需要淘宝镜像

建议选 pnpm + taobao 源,速度提升明显。这一步会自动安装依赖,同时安装成功后会自动执行 umi setup 做一些文件预处理等工作。

在这里插入图片描述

启动项目

下载完毕后,根据package.json中的配置运行项目即可,一般是npm start。如果有报错,一般检查node版本,或者将node_modules删除,重新执行npm install即可。

首页如下图,至此项目创建完毕。

Simple App模版首页
在这里插入图片描述
Ant Design Pro模版首页
在这里插入图片描述

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

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

相关文章

eclipse-安装WindowBuilder,怎么安装

WindowBuilder是Eclipse的一个插件,可以帮助开发者使用Java Swing、JavaFX和SWT快速构建图形用户界面(GUI)。下面是WindowBuilder的安装步骤: 1. 打开Eclipse IDE(请确保已安装JDK)。 2. 点击“Help”菜单…

【MySQL】:表的删除和修改

表的删除和修改 一.update(修改)二.delete(删除)1.删除数据2.截断表 三.插入查询的数据四.聚合函数五.group by 句子的使用1.导入表2.进行操作 一.update(修改) 对查询到的结果进行列值更新 下面有一个表,接下来的操作都是对该表进行操作。 1.将孙悟空同学的数学成绩…

目标跟踪 MOT数据集和可视化

目录 MOT15数据集格式简介 gt可视化 本人修改的GT可视化代码: MOT15数据集格式简介 以下内容转自:【目标跟踪】MOT数据集GroundTruth可视化-腾讯云开发者社区-腾讯云 MOT15数据集下载:https://pan.baidu.com/s/1foGrBXvsanW8BI4eybqfWg?…

100GPTS计划-AI写诗PoetofAges

地址 https://chat.openai.com/g/g-Cd5daC0s5-poet-of-ages https://poe.com/PoetofAges 测试 创作一首春天诗歌 创作一首夏天诗歌 创作一首秋天诗歌 创作一首冬天诗歌 微调 诗歌风格 语气:古典 知识库

嵌入式Linux开发板硬件学习-基于cadence

嵌入式Linux开发板硬件学习-基于cadence 目录原理图网表输出功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创…

本章主要介绍Spring Framework中用来处理URI的多种方式

1.使用 UriComponentsBuilder 构建URi 话不多说 直接上代码 UriComponents uriComponents UriComponentsBuilder.fromUriString("https://example.com/hotels/{hotel}").queryParam("q", "{q}").encode().build();URI uri uriComponents.exp…

js传递json数据过大的解决方案

protobufjs 使用protobuf,定义如下结构 Person.protobuf syntax "proto3";message Person {string name 1;int32 age 2; }Person.thrift namespace java com.example.Personstruct Person {1: required string name,2: required i32 age }使用bench…

Android笔记(十八):面向Compose组件结合Retrofit2和Rxjava3实现网络访问

一、Retrofit2 Square公司推出的Retrofit2库(https://square.github.io/retrofit/),改变了网络访问的方式。它实现了网络请求的封装。Retrofit库采用回调处理方式,使得通过接口提交请求和相应的参数的配置,就可以获得…

3 - Electron BrowserWindow对象 关于窗口

优雅的打开应用~ 当加载缓慢,打开应用的一瞬间会出现白屏,以下方法可以解决 const mainWindow new BrowserWindow({ show: false }) mainWindow.once(ready-to-show, () > {mainWindow.show() }) 设置背景颜色 const win new BrowserWindow({ b…

高德地图画线,适用于在地图上画出各种道路

addPolyline() {let AMap this.AMaplet polyline new AMap.Polyline({// map: this.map,// polyline 路径path: [new AMap.LngLat("119.368904", "30.913423"),new AMap.LngLat("119.382122", "30.901176"),],strokeColor: #F3D930,…

Windows下配置最新ChromeDriver

1、问题 在使用代码调用谷歌浏览器时会出错: from selenium import webdriver driver webdriver.Chrome() SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114 Current browser versi…

低噪声 256 细分微步进电机驱动MS35776

产品简述 MS35776 是一款高精度、低噪声的两相步进电机驱动芯 片。芯片集成了快速模式与静音模式来满足高速与低速下的不 同应用。芯片内置功率 MOSFET ,长时间工作平均电流可以达 到 1.4A ,峰值电流 2A 。芯片集成了欠压保护、过流保护、短 地…

java中实现定时给微信群中发送每日天气情况

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 实现效果 这个功能,适用于做私域的朋友,下面是效果,大家可以参考一下; 🔴🟠🟡 大家好!我是…

【工具使用-有道云笔记】如何在有道云笔记中插入目录

一,简介 本文主要介绍如何在有道云笔记中插入目录,方便后续笔记的查看,供参考。 二,具体步骤 分为两个步骤:1,设置标题格式;2,插入标题。非常简单~ 2.1 设置标题格式 鼠标停在标…

【算法与数据结构】455、LeetCode分发饼干

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:因为大饼干可以满足大胃口的孩子也必然可以满足小胃口的孩子,如果要尽可能的满足孩子的胃口…

【LeetCode刷题笔记】数学

50. Pow(x, n) 解题思路: 1. 绝对值 + 快速幂 + 迭代 ,由于题目 n 可能是 系统最小值 ,因此使用 n 的 绝对值 。 如果 n 是 系统最小值 ,先让

使用Log4j与log4j2配置mybatisplus打印sql日志

环境:项目非完全spring项目,没有spring的配置文件。执行sql时老是不打印sql语句。因此进行修改,过程比较坎坷,记录一下。 我尝试使用log4j和log4j2进行配置 最终把这两种全部配置记录上 Log4j配置 如果项目用的是log4j需要进行配置…

Linux——权限

个人主页:日刷百题 系列专栏:〖C语言小游戏〗〖Linux〗〖数据结构〗 〖C语言〗 🌎欢迎各位→点赞👍收藏⭐️留言📝 ​ ​ 一、 Linux下用户的分类 Linux下有两种用户: 1. root(超级管理员用户…

【重点】【前缀树】208.实现Trie(前缀树)

题目 前缀树介绍:https://blog.csdn.net/DeveloperFire/article/details/128861092 什么是前缀树 在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查…

Python 列表推导式:简洁、高效的数据操作艺术

文章目录 Python 列表推导式:简洁、高效的数据操作艺术1. 列表推导式:语法糖的力量2. 过滤元素:带条件的列表推导式3. 复杂的数据结构:嵌套的列表推导式4. 数据变形:带表达式的列表推导式5. 推广至其他数据结构&#x…