1

我将 Gatsby 与 Netlify CMS 一起使用,并在 Netlify CMS 中预览模板时遇到了问题。

有一个按预期工作的索引页面组件。它从 markdown 和 frontmatter 获取数据,并与 Netlify CMS 小部件链接,并且有特色的帖子组件通过useStaticQuery钩子获取其数据。

但是,一旦我进入Netlify 管理员中的索引页面预览模板,我会得到:

Error: The result of this StaticQuery could not be fetched.

This is likely a bug in Gatsby and if refreshing the page does not fix it, please open an issue in https://github.com/gatsbyjs/gatsby/issues
useStaticQuery
./.cache/gatsby-browser-entry.js:1
> 1 | import React from "react"
  2 | import PropTypes from "prop-types"
  3 | import Link, {
  4 |   withPrefix,
View compiled
_default
./src/components/common/FeaturedPosts.js:1
> 1 | import React from 'react'
  2 | import v4 from 'uuid'
  3 | import { useStaticQuery, graphql } from "gatsby"
  4 | 
View compiled
▶ 28 stack frames were collapsed.

我的目标是从来自 Netlify CMS 和特色博客列表组件的 markdown 和 frontmatter 数据呈现主页,该组件通过Netlify Admin 中的挂钩从/posts目录中获取其数据。useStaticQuery

复制回购可以在这里找到

4

1 回答 1

1

Gatsby 处理的 Graphql 查询永远不会在 netlify-cms 预览版中工作。通常 gatsby 和 netlify-cms 在构建期间使用单独的 webpack 实例。至少在gatsby-plugin-netlify-cms.

如果您确实需要访问为静态查询提取的数据,但您将无法保留与导入原始 JSON 文件所需的完全相同的代码,请查看此问题。 https://stackoverflow.com/a/58944342/157601

于 2019-11-20T20:03:05.723 回答