如何解决Gridsome源文件系统添加标签描述
我在此配置中使用@gridsome/source-filesystem
:
{
use: '@gridsome/source-filesystem',options: {
typeName: 'Post',path: 'content/posts/**/*.md',refs: {
tags: {
typeName: 'Tag',create: true
},author: {
typeName: 'Author',create: true
}
}
},}
现在我只想为一个标签添加description
,所以我在content/posts/my-tag.md
中创建了一个新文档:
---
title: Tag-Title
description:tag description
---
如何将该文档连接到allTags
馆藏?
或者以其他任何方式(例如,对于Tags
不使用@gridsome/source-filesystem
,将description
添加到node
中存在的collection
上吗?
解决方法
如果您只想添加allTags
,则可以为其创建降价促销。
在gridsome.config.js
...
{
use: '@gridsome/source-filesystem',options: {
path: 'content/tags/**/*.md',typeName: 'Tag'
},}
...
添加文件content/tags/my-tag.md
---
title: Tag-Title
description: tag description
---
你可以爆炸
{
allTag {
edges {
node {
id
title
description
}
}
}
}
{
"data": {
"allTag": {
"edges": [
{
"node": {
"id": "******",// random hash
"title": "Tag-Title","description": "tag description"
}
},{
"node": {
"id": "foo","title": "foo","description": ""
}
},...
但是,这无法连接到您的Post
。
或仅向Tag
添加了描述,您可以使用addSchemaResolvers
。
在gridsome.server.js
module.exports = function(api) {
api.loadSource(async ({ addSchemaResolvers }) => {
addSchemaResolvers({
Tag: {
description: {
type: "String",resolve(obj) {
if (!obj.description) {
// coding your logic
return "set description";
} else {
return obj.description;
}
}
}
}
});
});
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。