Как мне получить доступ к визуализированному MDX в виде строки в gatsby- node.js? - PullRequest
0 голосов
/ 21 апреля 2020

Я знаю Я не должен запрашивать поле 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, так что вне досягаемости.

Теперь мне не повезло. Пожалуйста, помогите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...