我在 Gatsby-node.js 中为我的博客文章故事书内容为每个帖子创建一个新页面,如下所示:
exports.createPages = ({ graphql, actions }) => {
const { createPage } = actions
return new Promise((resolve, reject) => {
const storyblokEntry = path.resolve('src/templates/blog-entry.js')
resolve(
graphql(
`{
stories: allStoryblokEntry(filter: {field_component: {eq: "blogpost"}}) {
edges {
node {
id
name
slug
field_component
full_slug
content
}
}
}
}`
).then(result => {
if (result.errors) {
console.log(result.errors)
reject(result.errors)
}
const entries = result.data.stories.edges
entries.forEach((entry) => {
const page = {
path: `/${entry.node.full_slug}`,
component: storyblokEntry,
context: {
story: entry.node
}
}
createPage(page)
})
})
)
})
}
但我也想为每个帖子创建一个页面,为另一种名为 location 的内容类型创建一个页面,该页面以相同的方式设置:
组件 src/templates/locations.js
Storyblok 字段组件 “位置”
如何在 Gatsby-node.js 中创建这两种页面类型?任何帮助将不胜感激!