我有一个React.js和Next.js网站,在我导出生产版本之前,它运行良好。当我在服务器上发布我的项目时,我会遇到以下问题:当我刷新页面时,它会给我404错误。
刷新页面并设置配置后,我发现Next.js 404错误。但我的问题仍然存在。
我所有的链接都是这样的:
import Link from 'next/link';
export default () => (
<Link href="/profile">
<a>profile</a>
</Link>
)
对于静态HTML导出,必须使用exportPathMap
参考:https://nextjs.org/docs/api-reference/next.config.js/exportPathMap
module.exports = {
exportPathMap: async function (
defaultPathMap,
{ dev, dir, outDir, distDir, buildId }
) {
return {
'/': { page: '/' },
'/profile': { page: '/profile' },
'/p/hello-nextjs': { page: '/post', query: { title: 'hello-nextjs' } },
'/p/learn-nextjs': { page: '/post', query: { title: 'learn-nextjs' } },
'/p/deploy-nextjs': { page: '/post', query: { title: 'deploy-nextjs' } },
}
},
}
将其添加到next.config.js
module.exports = {
trailingSlash: true,
}