Реактивный шлем Гэтсби не серверный рендеринг - PullRequest
1 голос
/ 06 марта 2019

Я пытаюсь загрузить теги своего шлема на стороне сервера, чтобы они вставлялись в статический HTML-файл во время сборки.Это позволило бы таким вещам, как Facebook, напрямую брать исходный файл и использовать соответствующие мета-теги.

После настройки моего приложения с помощью этого все, что я вижу в выводе статического рендеринга на стороне сервера:

<title data-react-helmet="true"></title>

Настройка:

gatsby-config.js

module.exports = {
  plugins: ['gatsby-plugin-react-helmet']
}

app.tsx

import Helmet from 'react-helmet';

const Head: React.FunctionComponent<Props> = () => (
  <Helmet title="the title is big" >
    <meta name="description" content="the content" />
  </Helmet >
);

...

gatsby-ssr.js

const {Helmet} = require('react-helmet');

exports.onRenderBody = () => {
  console.log(Helmet.renderStatic())
}

**Output**
<title data-react-helmet="true"></title>

Есть идеи?

1 Ответ

1 голос
/ 06 марта 2019

Вам не нужно иметь собственный файл gatsby-ssr.js. Используя gatsby-plugin-react-helmet, вы готовы к работе. Ваш головной компонент должен просто отлично работать.

А как вы смотрите на вывод? С «Просмотр источника» в браузере? Вам нужно взглянуть на файлы .html в папке /public.

...