【发布时间】:2021-01-16 15:48:13
【问题描述】:
我正在尝试在 Gatsby 网站上使用 GraphQL 片段,我尝试按照指南创建此片段,但 Gatsby 抛出错误,指出我的片段不存在
The fragment "PageFragment" does not exist.
我将片段放置在 Gatsby 项目根目录中名为“graphql-fragments”的文件夹中,该文件夹包含一个名为“pageFragment.js”的文件,这是我的片段 pageFragment.js
import { graphql } from "gatsby";
export const PageFragment = graphql`
fragment PageFragment on SanityPage {
slug {
current
}
_rawContent(resolveReferences: { maxDepth: 20 })
_id
title
}
`;
我在我的索引页面上使用这个片段,我也得到了我的错误
import React from "react"
import { graphql } from "gatsby";
export const query = graphql`
query FrontpageQuery {
page: sanityPage(_id: { regex: "/(drafts.|)frontpage/" }) {
...PageFragment
}
}
`;
const Home = () => {
return (
<div>
Hello world
</div>
)
}
export default Home
在没有片段的情况下运行 graphQL 查询可以正常工作,因此可以正常工作,并且我得到了我期望的数据
export const query = graphql`
query FrontpageQuery {
page: sanityPage(_id: { regex: "/(drafts.|)frontpage/" }) {
slug {
current
}
_rawContent(resolveReferences: { maxDepth: 20 })
_id
title
}
}
`;
盖茨比似乎没有找到我的片段,我做错了什么的任何线索?在 Gatsby 版本 2.24.66 上运行
【问题讨论】:
-
您是否尝试将 /graphql-fragments 文件夹移动到 /src 文件夹中?
标签: javascript graphql gatsby