1

我正在尝试将降价文件注入我的 Gatsby 页面,该页面在本地工作(开发和服务器)。但是,相同的 graphql 查询无法在 Netlify 中返回数据。对我来说似乎很奇怪。

这是一个示例 graphql 查询。

export const query = graphql`
  query {products_horizontal: file(
      sourceInstanceName: { eq: "products" }
      childMarkdownRemark: { frontmatter: { vertical: { eq: false } } }
    ) {
      sourceInstanceName
      childMarkdownRemark {
        frontmatter {
          title
          date
          store
          vertical
          price
          image
          templateKey
          description
          featuredpost
          featuredimage
          tag
          color
        }
      }
    }}`

我添加了一个 console.log 来在构建时查看我的数据对象的内容,下面是我的应用程序的本地构建

  products_horizontal: {
    sourceInstanceName: 'products',
    childMarkdownRemark: { frontmatter: [Object] }
  },

如您所见,product_horizo​​ntal 有一个备注节点。现在,当涉及到 netlify 中完全相同的文件时。我得到以下信息:

products_horizontal: null

注意:当我frontmatter: { vertical: { eq: false } }从过滤器中删除它时,它也可以在 Netlify 中使用。

我已经被这个错误困扰了大约 6 个小时,非常感谢您的帮助。我现在将添加更多代码以供参考。 盖茨比-config.js

module.exports = {
  plugins: [
    `gatsby-plugin-sass`,
    `gatsby-plugin-sharp`,
    "gatsby-plugin-netlify-cms",
    `gatsby-transformer-sharp`,
    {
      resolve: `gatsby-transformer-remark`,
      options: {
        // CommonMark mode (default: true)
        commonmark: true,
        // Footnotes mode (default: true)
        footnotes: true,
        // Pedantic mode (default: true)
        pedantic: true,
        // GitHub Flavored Markdown mode (default: true)
        gfm: true,
        // Plugins configs
        plugins: [],
      },
    },
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: "images",
        path: `${__dirname}/src/images`,
      },
    },
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: "products",
        path: `${__dirname}/product`,
      },
    },
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: "blogs",
        path: `${__dirname}/blog`,
      },
    },
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: "tags",
        path: `${__dirname}/tag`,
      },
    },

    {
      resolve: "gatsby-plugin-layout",
      options: {
        component: require.resolve(`./src/components/Layout/index.tsx`),
      },
    },
    {
      resolve: `gatsby-plugin-intl`,
      options: {
        path: `${__dirname}/src/intl`,
        languages: [`en`, `az`, `ru`],
        defaultLanguage: `en`,
        redirect: false,
      },
    },
  ],
}
4

0 回答 0