Интернационализация пошла не так в Гэтсби - PullRequest
0 голосов
/ 07 октября 2019

ОШИБКА # 95313 Не удалось создать статический HTML для пути "/ 404 /"

Я недавно реализовал локализацию в своем проекте gatsby с использованием пакетаact-intl. Я смог осуществить это, имитируя реализацию пакета в репозитории gatsby-starter-default-contentful-i18n . Все работает нормально, когда я запускаю gatsby-development, но, к сожалению, после запуска сборки не получаю.

Для пакетов activ-intl требуются некоторые конфигурации маршрутов, чтобы запустить его, что заставило меня использовать реквизиты местоположения вмой компонент макета, который доступен путям маршрутов, которые я также реализовал, используя ранее связанное репо в качестве руководстваТем не менее, я всегда встречаю эту ошибку.

const url = location.pathname;
    |                            ^
36 |       const { langs, defaultLangKey } = data.site.siteMetadata.languages;
37 |       const langKey = getCurrentLangKey(langs, defaultLangKey, url);
38 |       const homeLink = `/${langKey}/`;

-WebpackError: TypeError: Cannot read property 'pathname' of undefined.

Я продолжаю указывать на переменную url. Я удостоверился, что перепроверил все реквизиты расположения, которые были переданы от родителей компонента макета, чтобы удостовериться, что ни один из них не был определен, но все еще не играли в кости. Я действительно не знаю, с чего начать отладку этой проблемы. Ниже приведен мой файл index.js.

import React from 'react';
import { graphql, navigate, withPrefix } from 'gatsby';
import { getUserLangKey } from 'ptz-i18n';

class RedirectIndex extends React.PureComponent {
  constructor(args) {
    super(args);

    // Skip build, Browsers only
    if (typeof window !== 'undefined') {
      const { langs, defaultLangKey } = args.data.site.siteMetadata.languages;
      const langKey = getUserLangKey(langs, defaultLangKey);
      const homeUrl = withPrefix(`/${langKey}/`);

      navigate(homeUrl);
    }
  }

  render() {
    // It's recommended to add your SEO solution in here for bots
    // eg. https://github.com/ahimsayogajp/ahimsayoga-gatsby/blob/master/src/pages/index.js#L22
    return (<div />);
  }
}

export default RedirectIndex;

export const pageQuery = graphql`
  query IndexQuery {
    site{
      siteMetadata{
        languages {
          defaultLangKey
          langs
        }
      }
    }
  }
`;

Заранее благодарим за помощь!

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