我将 Nextjs 用于前端应用程序,并将 dotnet core 3.1 用于 Web API。有些页面是静态的,有些页面是动态的我关注了官方 documentation为达到这个。在开发模式(本地机器)上一切正常。静态和动态路由都正常工作并从 dontnet 核心 Web API 获取数据。
但是,在按照以下步骤发布 Nextjs 应用程序时:
之后,部署的文件被上传,当登录到应用程序时,它会重定向到主页面(直到这里工作正常),但是一旦我点击重新加载页面按钮(Chrome),我就会收到 404 错误。
查看开发人员工具中的控制台,我得到了这个:
我找到了这个 Stackoverflow link有同样的问题,但答案是使用 Express 进行服务器路由。就我而言,我使用 dotnet core Web API 来处理服务器请求。所以,不知道该怎么做。
有没有办法从客户端解决这个问题?可能是缺少配置?
我在导出时唯一注意到的是一条消息:未找到“exportPathMap” .不知道是不是这个原因。
最佳答案
当构建和导出后的所有页面都具有“.html”扩展名时,我在 react 中遇到了类似的问题。我在 中通过以下代码解决了它next.config.js 文件。
next.config.js
module.exports = {
exportTrailingSlash: true,
}
备注 : 在开发过程中不要使用上面的代码。在构建项目之前使用它。您可以在此处找到文档链接:https://nextjs.org/docs/api-reference/next.config.js/exportPathMap#adding-a-trailing-slash .
更新
上面的代码用于 next.js v 9.3.4 我当时正在使用。对于较新版本,应根据文档使用以下代码。
next.config.js
module.exports = {
trailingSlash: true,
}
关于reactjs - Nextjs 404 重新加载/刷新操作错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62208254/