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

Node.js 为什么盖茨比不再识别站点目录中的组件?,node.js,reactjs,npm,gatsby,Node.js,Reactjs,Npm,Gatsby,当我想在gatsby node.js文件中添加功能时,我有一个运行良好的gatsby站点,并安装了npm slug。新代码不起作用,所以我将其还原,但我无法使其再次起作用。在执行gatsby develope时,我会看到默认的404页面,并显示以下消息: 现在还没有一页/ 虽然我没有更改文件src/pages/index.js。 显然,我在index.js文件中有一个组件,但盖茨比不认识它。 我试图删除节点\ u模块,包锁.js和缓存,然后执行npm安装,但没有成功。 我甚至试着克隆我的回购协议

当我想在
gatsby node.js
文件中添加功能时,我有一个运行良好的gatsby站点,并安装了
npm slug
。新代码不起作用,所以我将其还原,但我无法使其再次起作用。在执行
gatsby develope
时,我会看到默认的404页面,并显示以下消息:

现在还没有一页/

虽然我没有更改文件
src/pages/index.js
。 显然,我在
index.js
文件中有一个组件,但盖茨比不认识它。 我试图删除
节点\ u模块
包锁.js
缓存
,然后执行
npm安装
,但没有成功。 我甚至试着克隆我的回购协议,但我得到了同样的错误。 我试着创建一个新的盖茨比网站,它可以正常工作,所以我不知道发生了什么

为什么会这样?让我知道我是否应该发布更多的代码从我的项目


谢谢。

我终于解决了。 我一直在应用程序中使用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)
  }
}

组件再次加载。

您在
gatsby node.js
中引入了哪些更改?最好包含所有相关的代码片段,甚至在网上重新创建项目。