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_...

相关推荐
_未知_开摆15 分钟前
Error: The project seems to require pnpm but it‘s not installed.
前端·webpack·vue
肉肉不吃 肉21 分钟前
父子组件传递数据和状态管理数据
前端·javascript·vue.js·pinia
不会叫的狼26 分钟前
回调方法传参汇总
前端
霸王蟹30 分钟前
Vue3自定义指令实现前端权限控制 - 按钮权限
前端·javascript·vue.js·笔记·学习·html
nt11071 小时前
大模型实现sql生成 --- 能力不足时的retry
前端·langchain·llm
霸王蟹1 小时前
Vue的性能优化方案和打包分析工具。
前端·javascript·vue.js·笔记·学习·性能优化
绿草在线1 小时前
路由Vue Router基本用法
前端·javascript·vue.js
Anlici1 小时前
embedding 搜索功能怎么实现
前端·人工智能
霸王蟹1 小时前
Pinia-构建用户仓库和持久化插件
前端·vue.js·笔记·ts·pinia·js
iOS阿玮1 小时前
Apple开发者已入驻微信公众号
前端·app·apple