Я знаю Я не должен запрашивать поле html
, которое зарезервировано для RSS, и вместо него следует использовать body
:
// gatsby-node.js
exports.createPages = async ({ graphql }) => {
const {
data: {
mdx: { body },
},
} = await graphql(`
{
mdx {
body
}
}
`);
// ‘body’ is a string containing JSX code.
// How do I render the JSX into a string?
// Or maybe into something I can throw at ‘ReactDOMServer.renderToStaticMarkup()’?
});
Я пытался использовать MDXRenderer
, но он недоступен на gatsby-node.js
(он использует import
вместо require
).
Я смотрел на , как реализация создает поле html
и в итоге нашел mdxHTMLLoader
. Затем я попытался:
// gatsby-node.js
exports.createPages = async ({ graphql, cache, reporter, store }) => {
const {
data: {
mdx: { body },
},
} = await graphql(`
{
mdx {
body
}
}
`);
mdxHTMLLoader({ cache, reporter, store }).load({body});
});
Но это приводит к этой ошибке .
Я даже нашел эту функцию , которая делает то, что я хочу. Но, опять же, используя imports
вместо require
, так что вне досягаемости.
Теперь мне не повезло. Пожалуйста, помогите.