【React】项目的搭建

news2025/4/22 19:16:23

  • create-react-app 搭建
  • vite 搭建
  • 相关下载

在Vue中搭建项目的步骤:1.首先安装脚手架的环境,2.通过脚手架的指令创建项目

在React中有两种方式去搭建项目:1.和Vue一样,先安装脚手架然后通过脚手架指令搭建;2.npx create-react-app my-app (项目名称小写的英文字母)

npm和npx的区别:npm搭建的命令环境,( 脚手架版本 )不会再发生变化。npx创建的项目永远是最新的( 脚手架版本 ),它不用下载环境,直接创建项目

create-react-app 搭建

脚手架搭建:

npx create-react-app myapp

如果不想安装最新的react版本怎么办需要版本升级或降级:

npm i react-dom@18.3.1 --legacy-peer-deps
npm i react@18.3.1 --legacy-peer-deps

执行以上命令会自动更新package.json中react-dom和react的版本号以及node_modules中的依赖包,无需手动修改删除

项目目录:

public
		index.html:单页面应用的入口,唯一的html
		manifest.json:移动端app配置文件(等同于uniApp中的manifest.json)
		robots.txt:爬虫协议,给搜索引擎看的,这个协议没有强制性,它是用于pc端的(小程序中的爬虫协议是sitemap.json)
src
		App.css:根组件的css文件
		App.js:根组件的js文件
		App.test.js:根组件的测试文件(可以不要)
		index.css:全局css文件
		index.js:主入口js文件(类似于vue的main.js)
		reportWebVitals.js:配置测试用的(可以不要)
		setupTests.js:在它里面配置引入了测试文件/模块(可以不要)

.gitignore:git文件,哪些文件不需要上传

package.json:项目对npm各种包的依赖,但是它锁定的是大版本,也就是版本号第一位

					如:"react": "^18.3.1",锁定的是18
					如果有向上的标号"^",是根据情况下载最新的包,所以实际上可能项目中的包版本是"react": "^18.3.3"

package-lock.json:锁定安装时的包的版本号,需要上传到git,保证大家的依赖包一致

在这里插入图片描述

vite 搭建

npm create vite@latest

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

npm create vite@latest myapp -- --template react 

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

在这里插入图片描述

相关下载

AntD:npm install antd --save

官网:https://ant.design/docs/spec/introduce-cn  (蚂蚁金服的UI框架Ant Design)

Ant Design它提供组件库:
						React基于移动端的组件库:Ant Design Mobile  <!-- https://mobile.ant.design/zh/ -->

						Vue各个版本: Ant Design of Vue  <!-- https://antdv.com/docs/vue/introduce -->

						Angular:Ant Design of Angular  <!-- https://ng.ant.design/docs/introduce/zh -->

(1) 使用的时候,在组件内引入,按需加载
							import {Button} from 'antd';
							<Button type="primary">Primary Button</Button>


(2) 引入主文件,src > App.css中引入(重置默认样式表,或者其它的如:Normalize.css)
							@import '~antd/dist/reset.css';

路由:npm i react-router-dom

ReactRouter包含三个内容:

(1) react-router:核心库
(2) react-router-dom:正常PC用的
(3) react-router-native:移动native用的

Sass:npm i sass
不建议直接暴露文件的不可逆操作,建议使用 craco (create-react-app config)在 React 脚手架的基础上进行 Webpack 配置。具体内容在Webpack\Vite栏中查看

如何在React中使用Less | Sass

sass
	(1) npm i sass
	(2) src > App.scss(sass文件的后缀有两种:.scss 或 .sass,前者更符合我们的代码编写习惯)


less
	(1) npm i less less-loader(less-loader可以把less转成css)
	(2) 改react的配置
					项目create-react-app的配置文件被作者隐藏起来了,需要暴露配置文件
					首先需要将项目提交到本地仓:
												git add .
												git commit -m 'init'
	(3) npm run eject (暴露配置,弹出配置操作是不可逆的)
	(4) config文件夹下 => webpack.config.js文件 (具体修改内容查看文件中,修改了配置文件后重启一下项目)

					快捷键:ctrl + f,查找输入:scss,修改后即可在React中使用Less

清理项目,将多余的文件不要的内容删除

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS例子 > 图片瀑布流布局(vue2)

<template><div class"container"><!-- 临时容器用于计算高度 --><div v-if"!isLayoutReady" class"temp-container"><divv-for"(item, index) in list":key"temp- index":ref"(el) > …

1.2软考系统架构设计师:系统架构的定义与作用 - 练习题附答案及超详细解析

系统架构定义与作用综合知识单选题 题目覆盖核心概念、发展历程、设计原则、评估标准及易混淆点&#xff0c;附答案解析&#xff1a; 1. 系统架构的标准定义源自于以下哪个标准&#xff1f; A. ISO/IEC 9126 B. IEEE 1471-2000 C. TOGAF 9.2 D. ITIL v4 答案&#xff1a;B 简…

关于springmvc的404问题的一种猜测解决方案

本文是记录关于在学习动力结点老杜的springmvc时候遇到的404报错的一种解决方式&#xff1b; 由于本人之前学过老杜的springmvc&#xff0c;且运行成功&#xff0c;当时使用的是tomcat10.1.19版本。 idea使用2023.3.2版本。 而这次进行回顾的时候&#xff0c;使用tomcat10.0.1…

使用Postman调测“获取IAM用户Token”接口实际操作

概述 Postman是网页调试与辅助接口调用的工具&#xff0c;具有界面简洁清晰、操作方便快捷的特性&#xff0c;可以处理用户发送的HTTP请求&#xff0c;例如&#xff1a;GET&#xff0c;PUT、POST&#xff0c;DELETE等&#xff0c;支持用户修改HTTP请求中的参数并返回响应数据。…

如何测试雷达与相机是否时间同步?

在多传感器融合系统中&#xff0c;相机与雷达的协同感知已成为环境理解的关键。相机通过捕捉纹理信息识别物体类别&#xff0c;而雷达利用激光或毫米波实现全天候精确测距。两者的数据融合既能避免单一传感器缺陷&#xff08;如相机受光照影响、雷达缺乏语义信息&#xff09;&a…

爆肝整理!Stable Diffusion的完全使用手册(二)

继续介绍Stable Diffusion的文生图界面功能。 往期文章详见: 爆肝整理&#xff01;Stable Diffusion的完全使用手册&#xff08;一&#xff09; 下面接着对SD的文生图界面的进行详细的介绍。本期介绍文生图界面的截图2&#xff0c;主要包含生成模块下的采用方法、调度类型、迭…

OpenCV day5

函数内容接上文&#xff1a;OpenCV day4-CSDN博客 目录 9.cv2.adaptiveThreshold(): 10.cv2.split()&#xff1a; 11.cv2.merge()&#xff1a; 12.cv2.add()&#xff1a; 13.cv2.subtract()&#xff1a; 14.cv2.multiply()&#xff1a; 15.cv2.divide()&#xff1a; 1…

基于Spring Boot+微信小程序的智慧农蔬微团购平台-项目分享

基于Spring Boot微信小程序的智慧农蔬微团购平台-项目分享 项目介绍项目摘要目录系统功能图管理员E-R图用户E-R图项目预览登录页面商品管理统计分析用户地址添加 最后 项目介绍 使用者&#xff1a;管理员、用户 开发技术&#xff1a;MySQLSpringBoot微信小程序 项目摘要 随着…

WPF的发展历程

文章目录 WPF的发展历程引言起源与背景&#xff08;2001-2006&#xff09;从Avalon到WPF设计目标与创新理念 WPF核心技术特点与架构基础架构与渲染模型关键技术特点MVVM架构模式 WPF在现代Windows开发中的地位与前景当前市场定位与其他微软UI技术的关系未来发展前景 社区贡献与…

Franka机器人ROS 2来袭:解锁机器人多元应用新可能

前言&#xff1a; 在机器人技术蓬勃发展的当下&#xff0c;每一次创新都可能为行业带来新的变革。2025年3月12日&#xff0c;Franka Robotics发布的Franka ROS 2软件包首次版本0.1.0&#xff0c;将著名的franka_ros软件包引入当前的ROS 2 LTS Humble Hawksbill&#xff0c;这一…

树莓派5+Vosk+python实现语音识别

简介 Vosk是语音识别开源框架&#xff0c;支持二十种语言 - 中文&#xff0c;英语&#xff0c;印度英语&#xff0c;德语&#xff0c;法语&#xff0c;西班牙语&#xff0c;葡萄牙语&#xff0c;俄语&#xff0c;土耳其语&#xff0c;越南语&#xff0c;意大利语&#xff0c;荷…

数据结构——顺序表(C语言实现)

1.顺序表的概述 1.1 顺序表的概念及结构 在了解顺序表之前&#xff0c;我们要先知道线性表的概念&#xff0c;线性表&#xff0c;顾名思义&#xff0c;就是一个线性的且具有n个相同类型的数据元素的有限序列&#xff0c;常见的线性表有顺序表、链表、栈、队列、字符串等等。线…

STP原理与配置以及广播风暴实验STP实验

学习目标 环路引起的问题 掌握STP的工作原理 掌握STP的基本配置 STP的配置 环路引起的问题 一、广播风暴&#xff08;Broadcast Storm&#xff09; 问题原理&#xff1a; 交换机对广播帧&#xff08;如 ARP 请求、DHCP 发现报文&#xff09;的处理方式是洪泛&#xff0…

网络不可达network unreachable问题解决过程

问题&#xff1a;访问一个环境中的路由器172.16.1.1&#xff0c;发现ssh无法访问&#xff0c;ping发现回网络不可达 C:\Windows\System32>ping 172.16.1.1 正在 Ping 172.16.1.1 具有 32 字节的数据: 来自 172.16.81.1 的回复: 无法访问目标网。 来自 172.16.81.1 的回复:…

力扣经典拓扑排序

207. 课程表&#xff08;Course Schedule&#xff09; 你这个学期必须选修 numCourses 门课程&#xff0c;记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。先修课程按数组 prerequisites 给出&#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表…

【第16届蓝桥杯C++C组】--- 2025

hello呀&#xff0c;小伙伴们&#xff0c;这是第16届蓝桥杯第二道填空题&#xff0c;和第一道填空题一样也是十分基础的题目&#xff0c;有C语言基础基本都可以解&#xff0c;下面我讲讲我当时自己的思路和想法&#xff0c;如果你们有更优化的代码和思路&#xff0c;也可以分享…

前端基础之《Vue(7)—生命周期》

一、什么是生命周期 1、生命周期 组件从“生”到“死”的全过程。 每一个组件都有生命周期。 2、生命周期四大阶段 创建阶段&#xff1a;beforeCreate、created 挂载阶段&#xff1a;beforeMount、mounted 更新阶段&#xff1a;beforeUpdate、updated 销毁阶段&#xff1a;be…

C语言高频面试题——指针数组和数组指针

指针数组和数组指针是 C/C 中容易混淆的两个概念&#xff0c;以下是详细对比&#xff1a; 1. 指针数组&#xff08;Array of Pointers&#xff09; 定义&#xff1a;一个数组&#xff0c;其元素是 指针类型。语法&#xff1a;type* arr[元素个数]; 例如&#xff1a;int* ptr_a…

Linux服务器配置Anaconda环境、Pytorch库(图文并茂的教程)

引言&#xff1a;为了方便后续新进组的 师弟/师妹 使用课题组的服务器&#xff0c;特此编文&#xff08;ps&#xff1a;我导从教至今四年&#xff0c;还未招师妹&#xff09; ✅ NLP 研 2 选手的学习笔记 笔者简介&#xff1a;Wang Linyong&#xff0c;NPU&#xff0c;2023级&a…

Android端使用无障碍服务实现远程、自动刷短视频

最近在做一个基于无障碍自动刷短视频的APP&#xff0c;需要支持用任意蓝牙遥控器远程控制&#xff0c; 把无障碍服务流程大致研究了一下&#xff0c;从下面3个部分做一下小结。 1、需要可调整自动上滑距离和速度以适配不同的屏幕和应用 智能适配99%机型&#xff0c;滑动参数可…