Возможно, заголовок пропущен, но я не совсем уверен, как правильно задать этот вопрос. Вот проблема: я хотел бы запросить у моего собственного API (еще не создан, поэтому я сделал данные заполнителя) глобальные параметры, которые могут измениться в будущем, и мне нужно будет только перестроить веб-сайт, а не редактировать его вручную, я хочу создать исходный узел с именем CmsSettings и передать его в GraphQL (структура, аналогичная site.siteMetadata), но я не знаю, как мне этого добиться. До сих пор я добился создания исходного узла allCmsSettings, в котором мои данные были бы объектами в массиве узлов.
exports.sourceNodes = ({ actions, createNodeId, createContentDigest }) => {
const { createNode } = actions;
const myData = {
key: 123,
app_title: `The foo field of my node`,
...
}
const nodeContent = JSON.stringify(myData);
const nodeMeta = {
id: createNodeId(`my-data${ myData.key }`),
parent: null,
children: [],
internal: {
type: `CmsSettings`,
mediaType: `text/html`,
content: nodeContent,
contentDigest: createContentDigest(myData)
}
}
const node = Object.assign({}, myData, nodeMeta);
createNode(node);
}
Вот запрос, используемый для получения данных исходного узла
allCmsSettings {
edges {
node {
id
app_title
...
}
}
}
Создание запроса приводит к массиву результатов (который, как я знаю, является результатом создания узлов источника), но я хотел бы создать этот источник, чтобы я мог запросить его следующим образом:
CmsSettings {
app_title
app_keywords
app_descriptions
app_logo_path
brand_name
...
}
Ты понял. Я просматривал API узла gatsby, но не могу найти, как этого добиться. Спасибо за вашу помощь