You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在React+Vite中通过vite-plugin-pages配置404页面跳转

在React + Vite项目中用vite-plugin-pages实现404页面处理

步骤1:安装依赖

先装vite-plugin-pages和react-router-dom(插件依赖React Router管理路由):

npm install vite-plugin-pages react-router-dom
# 也可以用yarn/pnpm
# yarn add vite-plugin-pages react-router-dom
# pnpm add vite-plugin-pages react-router-dom

步骤2:配置Vite插件

在vite.config.ts里启用vite-plugin-pages,指定pages目录(默认是src/pages,可省略):

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import Pages from 'vite-plugin-pages'

export default defineConfig({
  plugins: [
    react(),
    Pages({
      dirs: 'src/pages',
      extensions: ['tsx', 'jsx'], // 支持的页面文件后缀
    }),
  ],
})

步骤3:创建404页面

在src/pages目录下新建404.tsx文件:

const NotFound = () => {
  return (
    <div style={{ padding: '2rem', textAlign: 'center' }}>
      <h1>404 - 页面不存在</h1>
      <p>您访问的路径不存在,请返回首页</p>
    </div>
  )
}

export default NotFound

步骤4:配置路由匹配规则

在主路由入口文件(比如src/App.tsx或src/main.tsx)里,用React Router的Routes渲染自动生成的路由,最后添加通配符路由处理未匹配的路径:

方式1:直接渲染404组件

import React from 'react'
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'
import { useRoutes } from 'vite-plugin-pages/client'
import NotFound from './pages/404'

const App = () => {
  const autoRoutes = useRoutes()
  return (
    <Router>
      <Routes>
        {/* 渲染vite-plugin-pages自动生成的路由 */}
        {autoRoutes}
        {/* 匹配所有未定义的路径,直接渲染404组件 */}
        <Route path="*" element={<NotFound />} />
      </Routes>
    </Router>
  )
}

export default App

方式2:重定向到/404路径

如果希望地址栏显示/404而不是保持原路径,用Navigate组件做重定向:

import React from 'react'
import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'
import { useRoutes } from 'vite-plugin-pages/client'

const App = () => {
  const autoRoutes = useRoutes()
  return (
    <Router>
      <Routes>
        {autoRoutes}
        {/* 重定向所有未匹配路径到/404 */}
        <Route path="*" element={<Navigate to="/404" replace />} />
      </Routes>
    </Router>
  )
}

export default App

这样一来,当用户访问pages文件夹中没有对应文件的路径时,就会自动触发404页面的展示或重定向。

内容的提问来源于stack exchange,提问作者Win Narno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 22:17:19