为了账号安全,请及时绑定邮箱和手机立即绑定

Gatsby pageContext 在 GraphQL 中为空

Gatsby pageContext 在 GraphQL 中为空

三国纷争 2022-01-13 15:24:03
我正在通过 Contentful 构建一个具有多种语言的动态 Gatsby 网站。pageContext我在我的对象中传递页面的 IDgatsby-node.js以获取每个页面上的必要内容,但在根 URL 上/,我的pageContext对象内的数据丢失了。在我的index.js-file 中,pageContext根页面上的 是空的/,但参数pageContext.isCreatedByStatefulCreatePages设置为true. 但是,对于在对象中创建的每个其他页面gatsby-node.js,pageContext它都会按原样显示。我正在gatsby-node.js这样创建我的页面:const baseUrl = locale === "da" ? "/" : `/${locale}/`console.log(`${baseUrl}${slug ? slug : ""}`)createPage({  path: `${baseUrl}${slug ? slug : ""}`,  component: path.resolve("./src/pages/index.js"),  context: {    id,    slug,    locale,  },})我上面console.log的输出如下:/virksomhed/konsulent/kontakt/ <-- Page context is empty here/om-os/en/company/en/consultant/en/contact/en//en/about-us我可以看到每个页面都已创建。在索引页面 ("/") 以外的任何其他页面上,isCreatedByStatefulCreatePages 设置为false。我怀疑 Gatsby 以某种方式覆盖了根 URL 的“createPage”,但我无法在文档中找到任何描述它的内容。有这方面经验的人吗?
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

是的,Gatsby 默认为每个 .js 文件创建一个页面src/pages。尝试将您的模板移动到其他文件夹,例如src/templates并相应地调整componentin的值createPage()


查看完整回答
反对 回复 2022-01-13
  • 1 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信