У меня ошибка yarn build
только тогда, когда я использую <Suspense>
На yarn develop
у меня ошибок нет.
Обратите внимание, что я не использую React.lazy()
или Loadable components
.
import React, { Suspense } from 'react';
const Dashboard = props => {
return (
<Suspense fallback={<>Hey</>}>
Hello
</Suspense>
);
};
export default Dashboard;
yarn build
Сборка должна быть успешной.
Сборка не удалась.
Система:
ОС: macOS 10.14.2
Процессор: (8) x64 Intel (R) Core (TM) i5-8259U CPU @ 2,30 ГГц
Оболочка: 3.2.57 - / bin / bash
Двоичные файлы:
Узел: 11.9.0 - / usr / local / bin / node
Пряжа: 1.13.0 - / usr / local / bin / yarn
npm: 6.5.0 - / usr / local / bin / npm
Языки:
Python: 2.7.10 - / usr / bin / python
Браузеры:
Хром: 72.0.3626.109
Firefox: 65.0.1
Safari: 12.0.2
npmPackages:
Гэтсби: ^ 2.0.0 => 2.0.118
gatsby-cli: ^ 2.4.6 => 2.4.9
gatsby-изображение: ^ 2.0.26 => 2.0.29
плагин-эмоция gatsby: ^ 4.0.1 => 4.0.3
Гэтсби-плагин-реакция-шлем: ^ 3.0.0 => 3.0.6
gatsby-plugin-sharp: ^ 2.0.17 => 2.0.20
исходная файловая система gatsby: ^ 2.0.12 => 2.0.20
Гэтсби-трансформатор-острый: ^ 2.1.10 => 2.1.13
npmGlobalPackages:
gatsby-cli: 2.4.8
Большое спасибо за открытие этого выпуска! Как уже говорилось, это немного не относится к Гэтсби.
Гэтсби использует SSR, который Suspense & React.Lazy еще не поддерживает. Вы можете перейти на полноценный клиентский сайт, чтобы использовать эти функции, но получить статическое создание страниц, к сожалению, невозможно. React рекомендует использовать пакет загружаемых компонентов до тех пор, пока не будет разрешен SSR .
Оригинальная рекомендация от React Team:
https://reactjs.org/docs/code-splitting.html#reactlazy
React.lazy и Suspense пока недоступны для рендеринга на стороне сервера. Если вы хотите выполнить разделение кода в приложении, отображаемом на сервере, мы рекомендуем загружаемые компоненты . В нем есть хорошее руководство по разделению пакетов при рендеринге на стороне сервера .
Если мы можем помочь, не стесняйтесь обращаться к нам или комментировать эту проблему, и мы хотели бы еще раз взглянуть на нее.
Спасибо за использование Гэтсби 💪
Самый полезный комментарий
Большое спасибо за открытие этого выпуска! Как уже говорилось, это немного не относится к Гэтсби.
Гэтсби использует SSR, который Suspense & React.Lazy еще не поддерживает. Вы можете перейти на полноценный клиентский сайт, чтобы использовать эти функции, но получить статическое создание страниц, к сожалению, невозможно. React рекомендует использовать пакет загружаемых компонентов до тех пор, пока не будет разрешен SSR .
Оригинальная рекомендация от React Team:
https://reactjs.org/docs/code-splitting.html#reactlazy
Если мы можем помочь, не стесняйтесь обращаться к нам или комментировать эту проблему, и мы хотели бы еще раз взглянуть на нее.
Спасибо за использование Гэтсби 💪