React入门-使用 Vite 搭建基于 React 和 TypeScript 的后台管理应用(一)

使用 Vite 搭建基于 React 和 TypeScript 的后台管理应用(一)

一、项目概述

本文介绍了如何使用 Vite 快速搭建一个基于 React 和 TypeScript 的后台管理应用,涵盖从环境搭建到基础功能实现的全过程。

二、技术选型

  1. React 18 :作为核心前端库,提供高效的组件化开发体验,利用其最新的特性提升应用性能和开发效率。
  2. React-Router 7 :用于实现应用内的路由管理,支持复杂单页面应用的页面切换和导航功能。
  3. Ant Design 5 :作为 UI 组件库,提供丰富、美观且易于使用的界面组件,加快界面开发速度。

三、目标功能实现

  1. 工程创建与基础配置 :使用 Vite 快速创建 React + TypeScript 项目,通过修改 package.json 文件指定 React 和 React-Dom 版本为 18.0.0,确保项目基于最新稳定版本运行。

  2. 路由与菜单管理 :安装 React-Router-Dom 实现路由功能,将菜单和路由数据提取到单独文件中集中管理,便于后期维护和扩展。

    • 菜单数据 :定义包含图标、标签、路径等信息的菜单项数组,使用 Ant Design 图标库增强视觉效果。
    • 路由数据 :配置与菜单对应的路由对象数组,明确各路由路径与组件的映射关系。
  3. 页面布局与组件开发 :应用布局分为 Header、Sidebar 和 Content 三部分,初始化 Home、About、Dashboard 和 User 四个简单组件,实现基本页面展示功能。同时,实现菜单可收缩功能,收缩后仅展示图标,优化界面空间利用。

四、项目搭建过程

  1. 创建工程 :通过命令 npm create vite react-admin-vite -- --template react-ts 快速初始化项目,利用 Vite 的 React + TypeScript 模板奠定开发基础。
  2. 版本调整与依赖安装 :修改 package.json 中 React 相关版本号后,执行 npm install 安装依赖。随后安装 React-Router-Dom 和 Ant Design,完善项目功能所需的库支持。
  3. 数据管理与框架搭建 :创建菜单和路由数据文件,定义清晰的数据结构,实现应用基本导航和页面展示框架。
菜单数据 复制代码
import {
  HomeOutlined,
  InfoCircleOutlined,
  DashboardOutlined,
  UserOutlined,
} from '@ant-design/icons'

const menuItems = [
  { key: '1', label: 'Home', path: '/', icon: HomeOutlined },
  { key: '2', label: 'About', path: '/about', icon: InfoCircleOutlined },
  { key: '3', label: 'Dashboard', path: '/dashboard', icon: DashboardOutlined },
  { key: '4', label: 'User', path: '/user', icon: UserOutlined },
]

export default menuItems
路由数据 复制代码
import React from 'react'
import { RouteObject } from 'react-router-dom'
import Home from './components/Home.tsx'
import About from './components/About.tsx'
import Dashboard from './components/Dashboard'
import User from './components/User'

const routes: RouteObject[] = [
  {
    path: '/',
    element: <Home />,
  },
  {
    path: '/about',
    element: <About />,
  },
  {
    path: '/dashboard',
    element: <Dashboard />,
  },
  {
    path: '/user',
    element: <User />,
  },
]

效果展示:

五、项目总结

  1. 效率提升 :借助 AI 工具,快速解决菜单、路由数据提取及简单组件生成等问题,大幅降低学习成本,提高开发效率。
  2. 问题解决 :在布局全屏展示问题上,通过分析发现并手动删除 React-Ts 模板自带的干扰 CSS 样式,成功解决问题,积累实际开发经验。

六、代码资源

项目完整代码托管于 Gitee,地址为:gitee.com/animal-fox_...

相关推荐
SoaringHeart14 小时前
Flutter最佳实践:键盘辅助视图输入框天添加图片附件
前端·flutter
kyriewen14 小时前
我看完这篇安全论文——AI推荐的npm包,92%是编出来的
前端·javascript·ai编程
小心我捶你啊16 小时前
数据采集和Web解锁不是一回事,从用途到规则区分
前端·爬虫·网络协议
hunterandroid16 小时前
[鸿蒙从零到一] ArkUI 基础组件实战:Text、Image、Button 与 TextInput
前端
fsssb16 小时前
Chromium 源码学习笔记(五):一次点击,在进入 JS 之前先经历了什么?
前端
hunterandroid16 小时前
WorkManager 可靠性实战:唯一任务、重试与幂等设计
android·前端
鹿目16 小时前
使用 Vant CLI 搭建 UI 组件库:从 H5 到小程序跨平台
前端·javascript
默_笙16 小时前
😭 我花了两小时找了一个数据结构 bug,才把"迷你 Cursor"跑起来,绝望(bushi)
前端·javascript
竹林81816 小时前
wagmi v2 监听合约事件踩坑记:从 `useContractEvent` 到 `watchContractEvent`,我重构了三版才搞定实时数据流
前端·javascript