当我想向gatsby-node.js
文件添加功能并做了npm install slug
时,我有一个完美工作的盖茨比网站。新代码不起作用,所以我恢复了它,但我无法让它再次工作。执行gatsby develop
时,我得到默认的 404 页面,以及以下消息:
/还没有页面
虽然我没有更改文件src/pages/index.js
. 我显然在index.js
文件中有一个组件,但盖茨比不认识它。 我试图删除node_modules
,package-lock.js
和.cache
,然后做npm install
但没有运气。 我什至尝试从它工作时克隆我的存储库,但我得到同样的错误。 我尝试创建一个工作正常的新盖茨比网站,所以我无法弄清楚发生了什么。
为什么会这样?让我知道我是否应该从我的项目中发布更多代码。
谢谢。
我最终解决了这个问题。 我一直在我的应用程序中使用 Auth0 来处理身份验证。我不知道突然错误的确切原因,但gatsby-node.js
中的一些代码看起来像这样:
// Implement the Gatsby API “onCreatePage”. This is
// called after every page is created.
exports.onCreatePage = async ({ page, actions }) => {
const { createPage } = actions
// page.matchPath is a special key that's used for matching pages
// only on the client.
if (page.path.match(/^//)) {
page.matchPath = "//*"
// Update the page.
createPage(page)
}
}
通过将其更改为以下内容:
// Implement the Gatsby API “onCreatePage”. This is
// called after every page is created.
exports.onCreatePage = async ({ page, actions }) => {
const { createPage } = actions
// page.matchPath is a special key that's used for matching pages
// only on the client.
if (page.path.match(/^/account/)) {
page.matchPath = "/account/*"
// Update the page.
createPage(page)
}
}
组件再次加载。