【发布时间】:2021-02-10 21:42:03
【问题描述】:
我在降价文件(在 netlify cms 中生成)中有如下内容:
我不确定 vs 代码中的语法高亮显示是否处理 startTime 和 endTime 的值,或者这是否与 markdown 本身或它在 netlify cms 中的创建方式有关。
但无论哪种方式,graphQL 似乎都将一个读取为数字,另一个读取为字符串:
我尝试在gatsby-node.js 中创建类型定义,如下所示,但是当我检查控制台输出时,我发现为时已晚,并且它被赋予了值 1200 和 1080 而不是 18:00 和 20:00
exports.createSchemaCustomization = ({ actions, schema }) => {
const { createTypes } = actions
const typeDefs = [
schema.buildObjectType({
name: 'MarkdownRemark',
fields: {
frontmatter: 'Frontmatter!'
},
interfaces: ['Node'],
extensions: {
infer: true,
},
}),
schema.buildObjectType({
name: 'Frontmatter',
fields: {
startTime: {
type: 'String!',
resolve(parent) {
console.log(parent.startTime);
return `${parent.startTime}`;
}
},
endTime: {
type: 'String!',
resolve(parent) {
console.log(parent.endTime);
return `${parent.endTime}`;
}
}
}
}),
]
createTypes(typeDefs)
}
有什么方法可以在 Netlify 的 config.yml 中指定不将此字段视为数字?还是我找错地方了?
这就是我在 config.yml 中声明字段的方式:
- { label: "Start Time", name: startTime, widget: string}
- { label: "End Time", name: endTime, widget: string}
但现在当我查看 github 时,我看到了一些非常奇怪的结果:
【问题讨论】:
标签: reactjs graphql markdown gatsby netlify