首页 > 解决方案 > 在 Netlify 上部署会引发我的 GraphQL/Gatsby/Contentful 查询错误,需要不必要的查询参数

问题描述

起初我在我的本地构建服务器上遇到了这个错误,但我设法在那里修复它......查询仍然是一样的,但 gatsby 并没有抛出任何查询错误。但是每次我尝试在 Netlify 上进行部署时,它都会失败并显示以下消息:

toFormat seems to be empty, we need a fileExtension to set it.
    1 | fragment GatsbyContentfulFluid_tracedSVG on ContentfulFluid {
 >  2 |   tracedSVG
      |   ^
    3 |   aspectRatio
    4 |   src
    5 |   srcSet
    6 |   sizes
    7 | }
 failed during stage 'building site': Build script returned non-zero exit code: 1
    8 |
    9 | query optbuildreposrccomponentsshopProductsJs2136335468 {
   10 |   products: allContentfulProduct {
   11 |     edges {
   12 |       node {
 Shutting down logging, 22 messages pending
 File path: /opt/build/repo/src/components/shop/Products.js
 Plugin: none

这是我在本地遇到的相同错误,我不知道为什么会发生。没有理由认为 toFormat 是必需的参数。这是使用标准gatsby-source-contentful插件 API 请求,该请求在过去一直提供图像而没有问题。如果我将请求更改为“固定”而不是“流畅”,问题就会消失,但我需要网站这部分的流畅图像。

几天前我给 Netlify 员工发了电子邮件,但还没有收到回复。任何帮助将不胜感激。

标签: graphqlgatsbynetlifycontentful

解决方案


对于那些面临同样问题的人,我想出了一个简单的解决方案。

  1. 从您使用此扩展名的所有文件位置中删除_tracedSVG

例如。

GatsbyContentfulFixed_tracedSVG 

GatsbyContentfulFixed
  1. 停止 gatsby 服务器并使用以下命令:

    盖茨比清洁&&盖茨比发展

  2. 提交并推送您的更改(如果您使用的是 Github)

  3. 在 Netlify 上找到选项:清除缓存并部署站点

它应该修复您在 Netlify 上的部署以及控制台上的错误 :)


推荐阅读