Reactjs 刷新页面后出现Next.js 404错误

Reactjs 刷新页面后出现Next.js 404错误,reactjs,routing,routes,next,next.js,Reactjs,Routing,Routes,Next,Next.js,我试图学习Next.js,但我有一个小问题。 以下是我的测试代码: import Link from 'next/link'; export default () => ( <p>Hallo next <Link href="/abouts?id=2" as='/abouts/1'><a>About</a></Link></p> ) 从: push和replace的第二个as参数是URL的可选装饰。如果在服务

我试图学习Next.js,但我有一个小问题。 以下是我的测试代码:

import Link from 'next/link';
export default () => (
    <p>Hallo next <Link href="/abouts?id=2" as='/abouts/1'><a>About</a></Link></p>
)
从:

push
replace
的第二个
as
参数是URL的可选装饰。如果在服务器上配置了自定义路由,则此选项非常有用

因此,要实现此行为,您需要在
server.js
中配置自定义路由,例如使用
express
。使用以下命令扩展服务器:

const next=require('next');
const express=require('express');
const dev=process.env.NODE_env!='生产
const app=next({dev});
const handle=app.getRequestHandler();
app.prepare()然后(()=>{
const server=express();
//很好的页面永久链接。
//设置自定义路由,然后使用next.js呈现“关于”页面。
server.get('/about/:id',(req,res)=>{
const params={id:req.params.id};
返回app.render(请求,res,'/about',参数);
});
//对于所有其他路由,请使用next.js。
server.get('*',(req,res)=>{
返回句柄(req、res);
});
侦听(端口'0.0.0.0',错误=>{
如果(错误)抛出错误;
console.log(`${'\u2705'}已准备就绪http://localhost:${port}`);
});
});
来自:

push
replace
的第二个
as
参数是URL的可选装饰。如果在服务器上配置了自定义路由,则此选项非常有用

因此,要实现此行为,您需要在
server.js
中配置自定义路由,例如使用
express
。使用以下命令扩展服务器:

const next=require('next');
const express=require('express');
const dev=process.env.NODE_env!='生产
const app=next({dev});
const handle=app.getRequestHandler();
app.prepare()然后(()=>{
const server=express();
//很好的页面永久链接。
//设置自定义路由,然后使用next.js呈现“关于”页面。
server.get('/about/:id',(req,res)=>{
const params={id:req.params.id};
返回app.render(请求,res,'/about',参数);
});
//对于所有其他路由,请使用next.js。
server.get('*',(req,res)=>{
返回句柄(req、res);
});
侦听(端口'0.0.0.0',错误=>{
如果(错误)抛出错误;
console.log(`${'\u2705'}已准备就绪http://localhost:${port}`);
});
});
/about/1/