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

第一章 分别使用Create-React-App、Vite、Umi Max搭建React项目

一、专栏介绍

欢迎加入本专栏!我将带领您从零开始快速掌握React,从搭建项目到深入理解React项目。后续还会将主流的Umi Max作为前端应用框架,并借助Ant Design Pro来设计用户界面。在这个专栏中,我将为您揭示开发过程中常见功能的实现方法,并通过实际案例展示这些技术的实际应用。让我们一起开启这场技术之旅吧!

二、环境准备

需要准备node环境,在本专栏中我将使用node v16.18.0和npm 8.19.0作为基础环境进行搭建和开发项目案例。

接着我们需要把npm镜像更改为国内淘宝镜像,这样在下载依赖的时候能够更快。

查看npm源镜像

npm config get registry

切换npm源镜像

npm config set registry https://registry.npm.taobao.org

三、使用Create-React-App搭建

create-react-app是Facebook的React团队官方出的一款构建React单页面应用的脚手架工具。它本身集成了Webpack,并配置了一系列内置的loader和默认的npm的脚本,能实现零配置就可以开发React的应用。

优势:

  1. 无需配置:官方的配置堪称完美,几乎不用再配置任何东西,就可以上手开发项目。
  2. 高集成性:集成了对React、JSX、ES6和Flow的支持。
  3. 自带服务:集成了开发服务器,可以实现开发预览一体化。
  4. 热更新:保存自动更新。
  5. 全兼容性:自动处理CSS的兼容问题,无需添加-webkit前缀。

进入Create-React-App后下面有这么一段命令npx create-react-app my-app,我们只需要打开cmd执行此命令就可以搭建React脚手架了,但是呢这样搭建出来默认是JavaScript,需要我们进行TypeScript的指定。这里提一嘴,可能有的小伙伴没见过npx,它也是npm的一种。想要详细的了解可以自行百度哈。在需要创建的文件夹中使用cmd终端执行下面的命令,注意my-app是你的项目名称,自行修改一下。我这里叫react-demo。所以我执行的语句就是npx create-react-app react-demo --template typescript

npx create-react-app my-app --template typescript

很快啊,一分钟左右就能创建好项目。创建好以后跟着命令中的提示,cd react 进行项目,通过npm start就能启动项目了。

启动成功以后会自动打开浏览器,如果没有自动打开,可以根据提示,在浏览器中访问http://localhost:3000/

到这里我们的项目就成功的搭建好了。

四、使用Vite搭建React项目

Vite是尤雨溪大佬开发的,他也是Vue的创作者,所以顾名思义,Vite肯定是和Vue更加的搭配,但是呢它也支持我们去构建React项目。根据官网文档,我们只需要执行下面一行命令即可创建支持TypeScript的React脚手架

npm create vite@latest react-vite-demo -- --template react-ts

大概10秒左右就能创建好,不得不说Vite就是快,因为它默认不帮我安装相关依赖。所以跟着提示进入项目,通过npm install安装相关依赖。安装完成以后执行npm run dev启动项目即可

是不是超级简单。

五、使用Umi Max搭建React项目

这个呢就更简单了,直接跟着官网文档搞就好了

但是不同的地方是,我们需要先创建好项目名称,然后在项目根目录下执行此命令

接着根据自己的环境已经需求去选择就好

项目搭建完成以后直接执行npm start 就能启动项目了

六、总结

还有其他构建React项目的方式,这里就举这三种比较常用的列子,至于选择哪一种去构建,根据自己的需求以及项目的复杂程度。如果你需要快速构建简单的React应用程序,可以选择Create-React-App或Vite。如果你需要构建复杂的React应用程序,并希望拥有更多的控制权和可扩展性,可以选择Umi-Max。

我是Etc.End。如果文章对你有所帮助,能否帮我点个免费的赞和收藏😍。

👇 👇 👇 👇 👇 👇 👇 👇 👇 👇 👇 👇

相关文章:

  • Linux:进程间通信
  • 【【FPGA 之 MicroBlaze 自定义IP核 之 呼吸灯实验】】
  • 深入理解同源限制:网络安全的守护者(下)
  • css 3D背景反转实现
  • NIO--07--Java lO模型详解
  • 如何打印社保参保凭证
  • python之pyqt专栏5-信号与槽1
  • 钉钉聊天审计软件有哪些
  • web前端之vue3
  • cyclictest 交叉编译与使用
  • 【ArcGIS Pro微课1000例】0040:ArcGIS Pro创建北极点、南极点
  • 公平锁和非公平锁以及他们的实现原理是什么
  • YOLOv5算法进阶改进(7)— 将主干网络SPPF更换为SimSPPF / SPP-CSPC / SPPF-CSPC
  • node.js-连接SQLserver数据库
  • 谨慎Apache-Zookeeper-3.5.5以后在CentOS7.X安装的坑
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【笔记】你不知道的JS读书笔记——Promise
  • angular2开源库收集
  • Apache Spark Streaming 使用实例
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • JavaScript的使用你知道几种?(上)
  • Js基础知识(四) - js运行原理与机制
  • MySQL几个简单SQL的优化
  • python3 使用 asyncio 代替线程
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Spring-boot 启动时碰到的错误
  • Spring核心 Bean的高级装配
  • Terraform入门 - 3. 变更基础设施
  • use Google search engine
  • 简单实现一个textarea自适应高度
  • 简单数学运算程序(不定期更新)
  • 简单易用的leetcode开发测试工具(npm)
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 树莓派 - 使用须知
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 字符串匹配基础上
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​linux启动进程的方式
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • $jQuery 重写Alert样式方法
  • $L^p$ 调和函数恒为零
  • (1)常见O(n^2)排序算法解析
  • (12)Hive调优——count distinct去重优化
  • (2)MFC+openGL单文档框架glFrame
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (六)vue-router+UI组件库
  • (三)c52学习之旅-点亮LED灯
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (转)Google的Objective-C编码规范