【发布时间】:2020-09-14 15:15:55
【问题描述】:
我正在为其他 gatsby 前端开发一个 gatsby 插件,该插件使用 graphql 检索内容数据。
我正在扩展createSchemaCustomization API,因为我想向每个节点添加一个新字段(比如contentful_id)字段。
Graphql 允许通过访问者模式更新查询,因此我将contentful_id 字段附加到每个graphql 节点,并在插件gatsby-node.js 中添加了这个解析器(setFieldsOnGraphQLNodeType,但它已被弃用)到这个字段这样如果 graphql 节点找不到contentful_id,它就不会崩溃。
exports.setFieldsOnGraphQLNodeType = () => {
return {
contentful_id: {
type: GraphQLString,
resolve: (source) => {
return source.contentful_id || '';
},
},
};
};
另外,我不知道每个 gatsby 前端在自己的页面中生成了多少个节点。
我想达到的是以下
对于每个 gatsby 前端生成的所有类型,添加一个名为 contentful_id 的新 String 字段
【问题讨论】: