我正在通过 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”,但我无法在文档中找到任何描述它的内容。
有这方面经验的人吗?
慕的地10843
相关分类