二、Vite React基础配置,Ant Design Mobile组件库,axios,路由的使用

news/2024/7/15 20:12:07 标签: react.js, 前端, 前端框架

文章目录

  • 创建react+ts项目
  • 安装Ant Design Mobile移动端组件库
  • 安装路由
  • 配置@别名
  • 安装aixos
    • 配置
    • 封装


创建react+ts项目

创建好后进入react_ts目录npm i 安装依赖

// 固定写法,可单独创建    名字          模板      react+ts
npm create vite@latest react_ts -- --template react-ts

安装Ant Design Mobile移动端组件库

npm install --save antd-mobile

//使用 直接引入即可
import { Button } from 'antd-mobile'

安装路由

npm i react-router-dom

src下创建router/index.tsx

import { RouteObject, createBrowserRouter } from "react-router-dom";
import Device from "@/components/Device";
import Home from "@/components/Home";
const routers: RouteObject[] = [
  {
    path: "/",
    element: <Home />
  }, {
    path: "Device",
    element: <Device />
  }
]
const router = createBrowserRouter(routers)
export {
  router
}

main.tsx 使用RouterProvider绑定router路由

// import React from 'react'
import ReactDOM from 'react-dom/client'
import './index.css'
import { RouterProvider } from "react-router-dom";
import { router } from "./router/index.tsx";
ReactDOM.createRoot(document.getElementById('root')!).render(
  // <React.StrictMode>
  <RouterProvider router={router} />
  // </React.StrictMode>,
)

配置@别名

  • 安装node,ts不支持node,所以要安装插件配置
npm i @types/node -D
  • vite.config.ts 加入resolve配置
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
// 需要安装@types/node
import path from 'path'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  // 别名配置
  resolve:{
    alias:{
      "@":path.resolve(__dirname,"./src")
    }
  }
})
  • tsconfig.json 加入compilerOptions下的配置,别名就配置成功了
{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": [
        "src/*"
      ]
    },
  },
  "include": ["src"],
  "references": [{ "path": "./tsconfig.node.json" }]
}

安装aixos

npm i axios -D

配置

请求拦截配置token头部,响应拦截处理数据传递

import axios from "axios";

const httpInstance = axios.create({
  baseURL:"http://localhost:8081",
  timeout:5000
})

// 请求拦截器
httpInstance.interceptors.request.use(
  (response)=>{
    const res =response
    return res
  },
  (error)=>{
    return Promise.reject(error)
  }
)

// 响应拦截器
httpInstance.interceptors.response.use(
  (response)=>{
    const res =response
    return res
  },
  (error)=>{
    return Promise.reject(error)
  }
)

export {
  httpInstance as http
}

封装

/src/api/index.ts

这个文件还可以把接口类型定义和泛型单独封装

import { http } from "@/utils/http";

// 定义泛型
type ResType<T> = {
  code:number
  massage:string
  data:T
}

// 定义接口类型
export  type ChannelItem = {
  key:string
  title:string,
  List:{title:string}[]
}

// 
type ChannelRes ={
  list:ChannelItem[]
}

export const fetchChannelAPI = ()=>{
  return http.request<ResType<ChannelRes>>({
    url:"/data"
  })
}

http://www.niftyadmin.cn/n/5454833.html

相关文章

腾讯云CVM S5云服务器2核4G服务器优惠价格,买一年送3个月

腾讯云CVM S5云服务器2核4G服务器优惠价格748.2元15个月&#xff08;买1年送3个月&#xff09;&#xff0c;买一年送3个月&#xff0c;配置&#xff1a;云服务器CVM S5、2核4G、1M或3M带宽可选、不限制流量、上海、50G 通用型SSD云硬盘。 腾讯云服务器有两个活动&#xff0c;一…

mysql高阶之(视图)

目录 视图概念 视图概念 视图是基于一个或多个表的SQL查询结果的虚拟表。视图并不实际存储数据&#xff0c;而是保存了查询的定义。当你查询视图时&#xff0c;数据库引擎会按照视图的定义执行底层的SQL查询。 &#xff08;一&#xff09;视图作用 视图的主要作用时一张表或多…

【企业动态】吉利雷达汽车来访东胜物联,考察交流,洽谈车联网生态合作

近日&#xff0c;我们非常高兴接待吉利雷达汽车一行莅临东胜物联位于湖州市的生产工厂&#xff0c;进行参观考察&#xff0c;并就未来的合作展开深入商讨与交流。 雷达新能源汽车隶属于吉利控股集团&#xff0c;是一家专注于户外生态的中高端新能源智能汽车企业。雷达通过共享吉…

【Pt】马灯贴图绘制过程 02-制作锈迹

目录 一、边缘磨损效果 二、刮痕效果 三、边缘磨损与刮痕的混合 四、锈迹效果 本篇效果&#xff1a; 一、边缘磨损效果 将智能材质“Iron Forge Old” 拖入图层 打开“Iron Forge Old” 文件夹&#xff0c;选中“Sharpen”&#xff08;锐化&#xff09;&#xff0c;增大“…

深度学习:基于PyTorch的模型解释工具Captum

深度学习&#xff1a;基于PyTorch的模型解释工具Captum 引言简介示例安装解释模型的预测解释文本模型情绪分析问答 解释视觉模型特征分析特征消融鲁棒性 解释多模态模型 引言 当我们训练神经网络模型时&#xff0c;我们通常只关注模型的整体性能&#xff0c;例如准确率或损失函…

R: 网状Meta分析进行模型构建及图形绘制

网状meta分析的制作步骤主要包括&#xff1a; 1. 绘制网状证据图 2. 普通Meta分析&#xff08;两两之间的直接比较&#xff09; 3. 网状Meta分析&#xff08;整合直接比较和间接比较的结果&#xff0c;绘制相关图形&#xff09; 4. 绘制累积概率排序图 5. 三个假设的检验…

数据结构——二叉搜索树详解

一、二叉搜索树定义 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: 1.非空左子树上所有节点的值都小于根节点的值。 2.非空右子树上所有节点的值都大于根节点的值。 3.左右子树也都为二叉搜索树。 如下图所示&#xff1a…

编程出现bug?怎么用Python打印异常

在 Python 编程中&#xff0c;异常是指程序执行过程中出现的错误或异常情况。当程序遇到异常时&#xff0c;为了更好地调试和定位问题&#xff0c;我们需要打印异常信息。本文将详细介绍如何在 Python 中打印异常&#xff0c;并提供一些示例和注意事项。 一、try-except 语句捕…