下面是我的代码:
const router = createBrowserRouter([
{
path: "/",
element: <Container />,
children: [
{
index: true,
element: <Home />,
},
{
path: "/log-in",
element: <Login />,
},
{
path: "/contact",
element: <Contact />,
},
{
path: "/pricing",
element: <Pricing />,
},
],
},
{
path: "/contract-preview",
element: <ContractPreview />,
},
{
path: "/*",
element: <NotFound />,
},
]);
在yarn build
之后,当我从dist
目录运行代码时(服务器上的情况相同),无法到达/contract-preview
和/*
我正在获取自定义服务器404页面。
版本:
"vite": "^4.0.3",
"@vitejs/plugin-react": "^3.0.0",
"react-router-dom": "^6.6.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
维生素配置:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig({
plugins: [react()]
})
你有什么建议我该怎么做吗?
1条答案
按热度按时间tvokkenx1#
您应该设置您的Web服务器将404错误重定向到您的index.html文件。
单页面应用背后的想法是,网络服务器总是服务于相同的页面。一旦应用加载,React路由器处理前端的页面显示。