React实战演练项⽬一需求分析及vite_react搭建项目

news2024/11/27 8:34:49

React实战演练项⽬一需求分析及项目初始化

需求分析

刚学完React,开始找项目进行上手练习!
react+vite项目搭建

页面组件拆分:

头部:导航tab、搜索框、登录注册
中间:分类导航、轮播图、新人福利、高单价产品导航
课程分类列表、底部内容、登陆提示浮层、登录/注册弹窗

项目搭建

项目git初始化

git init

本地项目设置远程仓库地址

git remote add origin xxxx

通过npm创建react项目
vite创建react项目
使用vscode打开项目,然后安装相关依赖,运行项目

npm install
npm run dev

vite创建react项目
运行成功vite创建react项目
删除相关文件,创建首页文件,初始化项目,目录结构
vite创建react项目
创建首页项目,引入首页
react项目初始化

配置Ant-Design+Unocss

安装antDesign

npm install antd

引入并使用组件
react项目初始化
react项目初始化

什么是Unocss

unocss是一个即时的原子CSS引擎,它可以让你用简短的类名来控制元素的样式,而不需要写复杂的CSS代码。
当然,原子样式也有很多选择,最著名的就是 Tailwind。但由于Tailwind 会生成大量样式定义,会导致全量的 CSS
文件往往体积会多至数 MB,从而有性能上有一些不足。

unocss的优点

  • 它可以让你快速地开发和原型设计,而不需要考虑CSS的细节。
  • 它可以让你的CSS文件更小,因为它只生成你用到的工具类。
  • 它可以让你的CSS更一致,因为它遵循一套预设的规则和变量。
  • 它可以让你的CSS更灵活,因为它支持自定义工具类,变体,指令和图标
  • 它可以让你的CSS更易于维护,因为它避免了样式冲突和重复代码

官网:https://unocss.dev/integrations/vite

安装Unocss

npm install -D unocss

vite配置

  1. 再src同级目录下创建unocss.config.tsx,写入:
import { defineConfig, presetAttributify, presetUno } from "unocss";
export default defineConfig({
  presets: [
    presetAttributify(),
    presetUno(),
  ],
});

2.配置vite.config.tsx

import { defineConfig } from 'vite'
import UnoCss from "unocss/vite"
import react from '@vitejs/plugin-react'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react(), UnoCss()],
})
  1. main.tsx中引入virtual:uno.css
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App.tsx'
import "virtual:uno.css"

ReactDOM.createRoot(document.getElementById('root')!).render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
)

搜索其他的样式使⽤

https://www.tailwindcss.cn/

安装自动引入插件

说明:

unplugin-auto-import 这个插件是为了解决在开发中的导入问题,比如经常不清楚相对路径的问题,这个插件就是解决这个问题,这个插件会在根目录生成一个auto-import.d.ts,这个文件会将所有的插件导入到global中,这样在使用的时候直接就可以使用了。

安装

npm i -D unplugin-auto-import

配置文件vite.config.ts

import { defineConfig } from 'vite'
import UnoCss from "unocss/vite"
import react from '@vitejs/plugin-react'
import AutoImport from "unplugin-auto-import/vite";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    react(),
    UnoCss(),
    AutoImport({
      dts: 'src/types/auto-imports.d.ts',
      imports: ['react'],
      dirs: ['./src/hooks']
    }),
  ],
})

结果:
react项目初始化

项目初始化到此结束,后继会更新哦,点个关注防止跑丢了嗷~

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

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

相关文章

android 数独小游戏 经典数独·休闲益智

一款经典数独训练app 标题资源下载 &#xff08;0积分&#xff09;https://download.csdn.net/download/qq_38355313/88544810 首页页面&#xff1a; 1.包含有简单、普通、困难、大师四种难度的数独挑战供选择&#xff1b; 记录页面&#xff1a; 1.记录用户训练过的数独信息&…

使用requests库设置no_proxy选项的方法

问题背景 在使用requests库进行HTTP请求时&#xff0c;如果需要使用爬虫IP服务器&#xff0c;可以通过设置proxies参数来实现。proxies参数是一个字典&#xff0c;其中包含了爬虫IP服务器的地址和端口号。然而&#xff0c;当前的requests库并不支持通过proxies参数来设置no_pr…

map和set的简易封装(纯代码)

RBTree.h #pragma once#include<iostream> #include<vector> using namespace std;enum colar { red,black };template<class T>//有效参数就一个 struct RBTreeNode {RBTreeNode(const T& data):_left(nullptr), _right(nullptr), _parent(nullptr)…

这么好看的马面裙 ,女儿穿上不要太美了

红色小翻领&#xff0c;上身米白色金貂绒面料精细顺滑非常有质感 另外还有全手工定制的盘口裙子用的是仿宋代宋锦的织金面料 制作工艺非常复杂很重工的一件衣服 出门保证会被夸&#xff01;&#xff01;

用Python制作截图小工具

Python编程语言允许我们执行各种任务&#xff0c;所有这些都是在简单模块和短小精悍的代码的帮助下完成的。在Python的帮助下进行屏幕截图就是这样一项任务。 Python为我们提供了许多模块&#xff0c;使我们能够执行不同的任务。有多种方法可以使用Python及其库进行屏幕截图。…

开源电子画册源码系统 可重复利用 适合任何行业 带完整的搭建教程

电子画册&#xff0c;又称电子样本、电子商刊、电子杂志&#xff0c;是一种集合图片处理、文案策划、音乐加工、视频、统计调查、虚拟现实、三维动画等多种技术和表现形式为一体的多媒体画册&#xff0c;电子杂志是纸质印刷画册&#xff08;样本&#xff09;的升级版本&#xf…

创作者等级终于升到4级了

写了两个月的文章&#xff0c;终于等到4级了。发文纪念一下&#xff1a;

划片机:半导体工艺精细化高效化的新里程碑

随着科技的飞速发展&#xff0c;半导体已经成为现代电子设备的基石&#xff0c;而半导体晶圆的划片机作为半导体制造的核心设备之一&#xff0c;其发展程度直接关系到半导体的质量和产量。近年来&#xff0c;博捷芯精密划片机以其在半导体划片机领域的卓越表现&#xff0c;引领…

mybatis、mysql 创建时间(create_time)异常自动更新为当前时间

目录标题 一、问题二、原因三、解决 一、问题 bug: mybatis更新代码没有修改时间&#xff0c;但是时间会自动更新为当前时间。 。。。 被坑了挺久 二、原因 可能是创建表的时候&#xff0c; Navicat Premium 等可视化工具给你整活了。。。 三、解决 取消勾选。 注意&…

R语言基础入门(学习笔记通俗易懂版)

文章目录 R语言预备知识获取工作目录设置工作目录注释变量名的命名赋值变量的显示查看与清除变量函数帮助文档查询函数安装R包文件的读取文件的输出软件的退出与保存 R语言语法向量向量的创建向量的索引&#xff08;向量元素的提取、删除、添加&#xff09;向量长度的获取向量的…

利用 Kubernetes 降本增效?EasyMR 基于 Kubernetes 部署的探索实践

Kubernetes 是用于编排容器化应用程序的云原生系统。最初由 Google 创建&#xff0c;如今由 Cloud Native Computing Foundation&#xff08;CNCF&#xff09;维护更新。 Kubernetes 是市面上最受欢迎的集群管理解决方案之一。它自动化容器化应用程序的部署、扩展和管理&#…

企业图纸混乱怎么办?

企业图纸混乱怎么办&#xff1f; 随着企业办公自动化的迅速发展&#xff0c;各种技术资料和电子文件日益庞大&#xff0c;图文档管理工作出现新的变化和考验。 在传统的管理模式下&#xff0c;企业的图纸文档分散在各个部门的个人电脑上&#xff0c;致使企业在进行图文档管理的…

统信UOS_麒麟KYLINOS禁用USB存储

原文链接&#xff1a;统信UOS/麒麟KYLINOS禁用USB存储 hello&#xff0c;大家好啊&#xff0c;今天给大家带来一篇在统信UOS/麒麟KYLINOS禁用USB存储的文章&#xff0c;文章通过三种方式&#xff1a;1、在文件管理器中通过图形化方式移除USB&#xff1b;2、通过禁用USB存储模块…

龙迅LT8912B 单通道MIPIDSI桥接LVDS+HDMI(1.4)同显点屏LVDS,加环出一路HDMI

龙迅LT8912B 描述: Lontium LT8912B MIPIDSI到LVDS和HDMI桥采用单通道MIPID-PHY接收器前端配置&#xff0c;每个通道有4个数据通道&#xff0c;每个数据通道运行1.5Gbps&#xff0c;最大输入带宽可达6Gbps。对于屏幕应用&#xff0c;该桥解码MIPIDSI 18bpp RGB666和24bpp RGB…

500mA 线性锂电充电芯片 DP4054/DP4054H完全兼容替代TP4054

锂电池是一种新型的可充电电池&#xff0c;其具有体积小、重量轻、容量大耐用性强等特点&#xff0c;因此被广泛应用于手机、笔记本电脑、移动电源等电了设备上。 充电原理是指电池在充电过程中&#xff0c;用电流将锂离子从外部电源输入电池&#xff0c;使其形成 一个电荷差&…

这几个站点,有点优秀

中国大学慕课网 网址&#xff1a;https://www.icourse163.org/ 大学生们这个白嫖网站咱一定不能错过&#xff0c;与全国801所高效合作&#xff0c;里面都是不同专业的精品课程&#xff0c;关键是它们都是免费的&#xff01;报名学习&#xff0c;就等着知识装满脑袋吧&#xff0…

IO接口基础知识

一、基本概念 IO接口&#xff1a;CPU与IO设备之间的桥梁 1.IO接口分类 专业接口&#xff1a;连接专用设备&#xff0c;常用附加卡的形式来实现通用接口&#xff1a;基本的输入输出接口&#xff0c;如并行口&#xff0c;串行口(外设和接口一侧) 2.IO接口组成 为了实现下图功…

泛型编程 -- 模板详解

一、模板 在没有模板之前&#xff0c;如果我们写一个swap()两数交换函数&#xff0c;因为我们要支持 int 与int 交换 、double 与 double 交换等等情况&#xff0c;所以要实现swap()函数的多个重载&#xff0c;显得很繁琐&#xff0c;于是就引入了模板。 模板就是在需要模板的地…

CTF-栈溢出-基本ROP-【ret2shellcode】

文章目录 ret2shellcodeHTBCyberSanta 2021 sleigh思路exp ret2shellcode 控制程序去执行我们自己填充的代码。 条件&#xff1a; 我们填充的代码的位置具有可执行权限 HTBCyberSanta 2021 sleigh 检查保护 Has RWX segments提示有可读可写可执行的段 main函数 banner函数…

期望、方差

一、期望和方差的定义 随机变量(Random Variable) X 是一个映射&#xff0c;把随机试验的结果与实数建立起了一一对应的关系。而期望与方差是随机变量的两个重要的数字特征。 1. 期望(Expectation, or expected value) 期望是度量一个随机变量取值的集中位置或平均水平的最基…