【发布时间】:2020-06-22 16:26:12
【问题描述】:
- 问题总结: 一种。我想使用路径在 Gatsby 中动态生成一个页面。我已经实现了question 中建议的技术。这种技术在本地工作,即在本地主机上,但是当我在生产中部署它时,我收到以下错误消息:
找不到页面 看起来您点击了一个损坏的链接或输入了一个 此站点上不存在的 URL。
预期结果:页面动态创建后,@reach/router 应该能够捕获路径中的 ID 并使其作为组件中的 props 可用。
实际结果:这在本地工作,但在生产中,浏览器向我抛出上述错误。 控制台错误:
加载资源失败:服务器响应状态为404()
- 到目前为止我尝试了什么?
在 gatsby-node.js 中:
exports.onCreatePage = async ({ page, actions }) => {
const { createPage } = actions;
if (page.path.match(/^\/resetpassword/)) {
page.matchPath = "/resetpassword/*"
createPage(page)
}
}
在盖茨比页面resetpassword.js:
export default function ResetPassword() {
return (
<div>
<Router basepath="/">
<ResetWorker path="/resetpassword/:id" />
</Router>
</div>
)
}
function ResetWorker({ id }) {
// Here I need to access the id to make a fetch call to my node.js backend
return()
}
【问题讨论】:
-
您在哪里托管?这可能是相关的stackoverflow.com/questions/52051090/…
-
感谢您抽出宝贵时间回答我的问题 ksav。前端托管在 Netlify 上,后端托管在 Heroku 上。
标签: gatsby