我正在尝试将降价文件注入我的 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_horizontal 有一个备注节点。现在,当涉及到 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,
},
},
],
}