为什么盖茨比不再识别站点目录中的组件?



当我想向gatsby-node.js文件添加功能并做了npm install slug时,我有一个完美工作的盖茨比网站。新代码不起作用,所以我恢复了它,但我无法让它再次工作。执行gatsby develop时,我得到默认的 404 页面,以及以下消息:

/还没有页面

虽然我没有更改文件src/pages/index.js. 我显然在index.js文件中有一个组件,但盖茨比不认识它。 我试图删除node_modulespackage-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)
}
}

组件再次加载。

最新更新