react路由路径兼容.html

react路由路径兼容.html

    • 背景
    • 根文件代码
    • 路由代码
    • nginx配置

背景

因为react-router 的路径是没有.html后缀的,这样对于和其他系统有交互的时候,让别人改url地址不是很方便,所以想办法进行了老系统的兼容操作。

根文件代码

import React from 'react';
import { useRoutes } from 'react-router-dom'
import routes from './routes/index'const App: React.FC = () => {// const [isDarkMode, setIsDarkMode] = useState(false);// const navigate = useNavigate();const routeView = useRoutes(routes);return (<div className="App" style={{ width: '100%', height: '100%'}}>{ routeView }</div>)
}export default App;

路由代码

import { Navigate } from "react-router-dom";
import Iframe from '@/pages/iframe/iframe.tsx'
import Index from '@/pages/index/index'export default [{path: '/',element: <Navigate to="/public/iframe" replace />},{path: '/public/iframe.html',element: <Iframe />},{path: '/public/iframe',element: <Iframe />},{path: '/public/index.html',element: <Index />},{path: '/public/index',element: <Index />},{path: '/*',element: <Navigate to="/public/iframe" replace />},
] as {path: string,element: JSX.Element
}[]
  1. path: '/', 代表不添加路径时候要引用的组件
  2. path: '/*' 代表找不到路径时候引用的组件
  3. path: '/public/index.html', path: '/public/index', 同时兼容 带.html后缀和不带后缀的引用方式

nginx配置

	server {listen 2024;     server_name localhost;location / {root C:app/dist;index index.html;try_files $uri $uri/ /index.html;}}

try_files $uri $uri/ /index.html; 可以默认将访问指向到index.html.对于history模式的路由很有用。

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

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

相关文章

Spring Boot系列之条件注解

概述 想要搞懂Spring Boot自动配置&#xff0c;绕不过条件注解&#xff0c;即Conditional&#xff0c;可用于根据某个特定的条件来判断是否需要创建某个特定的Bean。本文分析基于spring-boot-autoconfigure-3.2.4版本。 Conditional注解可以添加在被Configuration、Component…

Ps 滤镜:智能锐化

Ps菜单&#xff1a;滤镜/锐化/智能锐化 Filter/Sharpen/Smart Sharpen 智能锐化 Smart Sharpen滤镜可以用来提高图像的视觉清晰度和边缘细节&#xff0c;同时最大限度地减少常见的锐化问题如噪点和光晕等。 “智能锐化”滤镜通过自适应算法分析图像内容&#xff0c;针对不同的细…

省级财政收入、支出、第一、二、三产业增加值、工业增加值、金融业增加值占GDP比重数据(1978-2022年)

01、数据介绍 财政收支作为国家治理的基础&#xff0c;越来越受到社会各界的关注。同时&#xff0c;产业结构的优化与升级也是中国经济持续增长的关键因素。本数据对中国省级财政收入、支出占GDP的比重以及第一、二、三产业的增加值占GDP的比重和工业增加值占GDP的比重、金融业…

Pandas入门篇(二)-------Dataframe篇5(进阶)(Dataframe的时间序列Dataframe最终篇!!)(机器学习前置技术栈)

目录 概述一、pandas的日期类型&#xff08;一&#xff09;datetime64类型的特点&#xff08;二&#xff09; 时间序列的创建1.从字符串创建datetime64类型2. 整数&#xff08;Unix时间戳&#xff09;创建datetime64类型3.导入数据时直接转换 &#xff08;三&#xff09;dateti…

力扣经典150题第四十九题:插入区间

目录 题目描述和要求示例解释解题思路算法实现复杂度分析测试和验证总结和拓展参考资料 题目描述和要求 给定一个无重叠的、按照区间起始端点排序的区间列表 intervals&#xff0c;其中 intervals[i] [starti, endi] 表示第 i 个区间的开始和结束。同样给定一个区间 newInter…

开源库交叉编译(七)--- FAAD2

官网&#xff1a;https://www.linuxfromscratch.org/blfs/view/svn/multimedia/faad2.html 源码&#xff1a;faad2-2.10.1.tar.gz Step 1&#xff1a;解压 tar -xvzf faad2-2.10.1.tar.gzcd faad2-2.10.1/ Step 2&#xff1a;创建安装目录 mkdir arm_faad2 Step 3&#…

MyBatis:mybatis入门

MyBatis 持久层框架,用于简化JDBC开发,是对原始JDBC程序的封装 持久层 数据访问层(dao),用来操作数据库 框架 一个半成品软件,一套可重用的通用软件代码模型. JDBC (Java DataBase Connectivity) 使用java语言操作关系型数据库的一套API 本质是sun公司官方定义的一套操…

打印机-STM32版本 硬件部分

最终PCB EDA工程: 一、确定芯片型号 根据项目需求&#xff0c;梳理需要用到的功能&#xff0c; 电量检测&#xff1a;ADC 按键&#xff1a;IO input外部中断 LED&#xff1a;IO output 温度检测&#xff1a;ADC 电机控制&#xff1a;IO output 打印通讯&#xff1a;SPI …

C++string类使用大全

目录 温馨提示&#xff1a;这篇文章有约两万字 什么是string类&#xff1f; 一. 定义和初始化string对象 1.string的构造函数的形式&#xff1a; 2.拷贝赋值运算符 3.assign函数 二.string对象上的操作 1.读写string对象 2.读取未知数量的string对象 3.使用getline …

windows ubuntu sed,awk,grep篇:10.awk 变量的操作符

目录 62. 变量 64. 算术操作符 65. 字符串操作符 66. 赋值操作符 67. 比较操作符 68. 正则表达式操作符 62. 变量 Awk 变量以字母开头&#xff0c;后续字符可以是数字、字母、或下划线。关键字不能用作 awk 变量。 不像其他编程语言&#xff0c; awk 变量可以直接使…

实习面试之算法准备:数学题

目录 1 技巧2 例题2.1 Nim 游戏2.2 石子游戏2.3 灯泡开关 1 技巧 稍加思考&#xff0c;找到规律 2 例题 2.1 Nim 游戏 你和你的朋友&#xff0c;两个人一起玩 Nim 游戏&#xff1a; 桌子上有一堆石头。 你们轮流进行自己的回合&#xff0c; 你作为先手 。 每一回合&#xf…

vue修饰符有哪些

Vue中常用的修饰符主要有以下几类&#xff1a; 事件修饰符&#xff1a; .stop&#xff1a;阻止事件的冒泡&#xff0c;相当于调用了event.stopPropagation()方法。 .prevent&#xff1a;阻止事件的默认行为&#xff0c;相当于调用了event.preventDefault()方法。 .capture&a…

python让input显示默认值,并且用户还可以修改

感觉是很正常的需求&#xff0c;但python默认没有这个功能。linux下有readline库&#xff0c;具体没试过&#xff0c;但我是WINDOWS下。看到有用kernel32.GetStdHandle(STD_INPUT_HANDLE)获取标准输入&#xff0c;再WriteConsoleInput模拟输入的&#xff0c;但WINDOWS下API调用…

SpringBoot 打包所有依赖

SpringBoot 项目打包的时候可以通过插件 spring-boot-maven-plugin 来 repackage 项目&#xff0c;使得打的包中包含所有依赖&#xff0c;可以直接运行。例如&#xff1a; <plugins><plugin><groupId>org.springframework.boot</groupId><artifact…

CMake:编译日志信息的使用(五)

1、日志调试信息 在CMake中可以用用户显示一条信息&#xff0c;该命令的名字为message&#xff1a; # 格式 # message([STATUS | WARNING | AUTHOR_WARNING | SEND_ERROR | FATAL_ERROR] "Message infomation...")(无)&#xff1a;重要信息STATUS&#xff1a;非重要…

2024五一杯数学建模B题思路代码文章教学-交通需求规划与可达率问题

交通需求规划与可达率问题 问题总结&#xff1a; 问题一&#xff1a;在一个小型交通网络中&#xff0c;给定的起点和终点之间的交通需求需分配到相应路径上。目标是最大化任意一条路段出现突发状况时的交通需求期望可达率。 问题二&#xff1a;在一个较大的交通网络中&#xff…

负债56亿,购买理财产品遭违约,操纵虚假粉丝,流量在下滑,客户数量减少,汽车之家面临大量风险(三)

本文由猛兽财经历时5个多月完成。猛兽财经将通过以下二十二个章节、8万字以上的内容来全面、深度的分析汽车之家这家公司。 由于篇幅限制&#xff0c;全文分为&#xff08;一&#xff09;到&#xff08;十&#xff09;篇发布。 本文为全文的第七章、第八章、第九章。 目录 …

【Linux—进程间通信】共享内存的原理、创建及使用

什么是共享内存 共享内存是一种计算机编程中的技术&#xff0c;它允许多个进程访问同一块内存区域&#xff0c;以此作为进程间通信&#xff08;IPC, Inter-Process Communication&#xff09;的一种方式。这种方式相对于管道、套接字等通信手段&#xff0c;具有更高的效率&…

一文入门交叉编译

前言: 在阅读本文之前&#xff0c;你哦需要了解makefile文件的编写规则&#xff0c;这里我们推荐两篇入门: Makefile 规则-CSDN博客 Makefile 快速入门-CSDN博客 编译定义 编译是指将源代码文件&#xff08;如C/C文件&#xff09;经过预处理、编译、汇编和链接等步骤&#x…

SpringBoot社区医院信息平台 - 源码免费(私信领取)

免费领取源码 &#xff5c; 项目完整可运行 &#xff5c; v&#xff1a;chengn7890 诚招源码校园代理&#xff01; 1. 研究目的 本项目旨在设计并实现一个基于Spring Boot的社区医院信息平台&#xff0c;为社区医院提供信息化管理和服务&#xff0c;包括挂号预约、医生排班、医…