【发布时间】:2021-11-18 21:58:49
【问题描述】:
在Gatsby tutorial part 6,您可以找到多次提及“节点类型”:
根据 API,您需要在创建收集路由之前确定两件事:
- 从哪种类型的节点创建页面。
- 要在 URL 中使用该节点类型中的哪个字段。
要创建新的收集路径,请将文件命名为
{nodeType.field}.js,其中nodeType是您要从中创建页面的节点类型,field是您要创建的该节点类型的数据字段在该页面的 URL 中使用。
我的目标是创建一个像这样的页面树:
index.tsxblog/{article.slug}.tsxprojects/{project.slug}.tsxtags/{tag.id}.tsx
所有文章、项目和标签都是MDX文件,但在特定位置或frontmatter prop查询。
但是我不知道如何创建命名节点类型,我应该像 mdx in {mdx.slug}.js 那样使用它。
我什至尝试添加 gatsby-source-filesystem 的实例和 name 以用作类型,但它不起作用:
plugins: [
// ...
{
resolve: "gatsby-source-filesystem",
options: {
path: `${__dirname}/_data`,
name: "instances",
__key: 'instances'
}
},
"gatsby-plugin-mdx"
}
【问题讨论】: