Проблема, с которой я сталкиваюсь, заключается в том, что когда я задаю пару ключ-значение в файле gatsby-config.js, я не могу видеть данные внутри GraphiQL. Я следую за документацией и использую ключи, которые используются в примере кода. Смотрите документацию здесь: https://www.gatsbyjs.org/docs/gatsby-config/#sitemetadata
Вот мой gatsby-config.js
файл:
module.exports = {
siteMetadata: {
title: `My Photography Site`,
description: `Just the best`,
},
plugins: [
`gatsby-plugin-emotion`,
`gatsby-transformer-remark`,
{
resolve: `gatsby-source-filesystem`,
options: {
name: `src`,
path: `${__dirname}/src/`,
},
},
{
resolve: `gatsby-plugin-typography`,
options: {
pathToConfigModule: `src/utils/typography`,
},
},
],
}
Вот мой запрос GraphiQL (после перезапуска сервера разработки для перезагрузки файла gatsby-config.js):
query SiteQuery {
site {
siteMetadata {
title
description
}
}
}
Ожидаемые результаты от GraphiQL:
{
"data": {
"site": {
"siteMetadata": {
"title": "My Photography Site",
"description": "Just the best"
}
}
}
}
Вот фактический результат GraphiQL:
{
"errors": [
{
"message": "Cannot query field \"description\" on type \"SiteSiteMetadata\".",
"locations": [
{
"line": 5,
"column": 7
}
],
"stack": [
"GraphQLError: Cannot query field \"description\" on type \"SiteSiteMetadata\".",
" at Object.Field (/mnt/c/Users/Spencer/dev/gatsbyjs/hello-world/node_modules/graphql/validation/rules/FieldsOnCorrectType.js:64:31)",
" at Object.enter (/mnt/c/Users/Spencer/dev/gatsbyjs/hello-world/node_modules/graphql/language/visitor.js:334:29)",
" at Object.enter (/mnt/c/Users/Spencer/dev/gatsbyjs/hello-world/node_modules/graphql/language/visitor.js:385:25)",
" at visit (/mnt/c/Users/Spencer/dev/gatsbyjs/hello-world/node_modules/graphql/language/visitor.js:252:26)",
" at validate (/mnt/c/Users/Spencer/dev/gatsbyjs/hello-world/node_modules/graphql/validation/validate.js:63:22)",
" at /mnt/c/Users/Spencer/dev/gatsbyjs/hello-world/node_modules/express-graphql/dist/index.js:154:52",
" at processTicksAndRejections (internal/process/task_queues.js:89:5)"
]
}
]
}
Что странно, так это то, что раньше я смог успешно создать пользовательскую пару ключ-значение, и она работала нормально. У меня был ключ tagLine
и значение Panda Site
. Обычная клавиша title
тоже сработала.
Вот версии программного обеспечения, которые я использую:
- Гэтсби: 2.5.12
- узел: v12.1.0
- нпм: 6,9,0
Я использую подсистему Windows для Linux (WSL). Дайте мне знать, если вам нужны другие файлы конфигурации, включая package.json.