只有当我使用<Suspense>
时,我才会在yarn build
上出现错误
在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
CPU:(8) x64 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
外壳: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
火狐:65.0.1
Safari:12.0.2
npm 软件包:
盖茨比:^2.0.0 => 2.0.118
gatsby-cli: ^2.4.6 => 2.4.9
盖茨比图像:^2.0.26 => 2.0.29
盖茨比插件情感:^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:
盖茨比-cli:2.4.8
非常感谢您打开这个问题! 如前所述,这与盖茨比略有不同。
Gatsby 正在使用 Suspense 和 React.Lazy 尚不支持的 SSR。 您可以移动到完整的客户端站点以使用这些功能,但遗憾的是无法生成静态页面。 React 建议使用Loadable 组件包,直到解决 SSR 。
来自 React 团队的原始推荐:
https://reactjs.org/docs/code-splitting.html#reactlazy
React.lazy 和 Suspense 尚不可用于服务器端渲染。 如果您想在服务器呈现的应用程序中进行代码拆分,我们推荐Loadable Components 。 它有一个很好的指南,用于使用服务器端渲染进行包拆分。
如果我们可以提供进一步帮助 - 请不要犹豫与此问题联系或发表评论,我们很乐意再看一看。
感谢您使用 Gatsby 💪
最有用的评论
非常感谢您打开这个问题! 如前所述,这与盖茨比略有不同。
Gatsby 正在使用 Suspense 和 React.Lazy 尚不支持的 SSR。 您可以移动到完整的客户端站点以使用这些功能,但遗憾的是无法生成静态页面。 React 建议使用Loadable 组件包,直到解决 SSR 。
来自 React 团队的原始推荐:
https://reactjs.org/docs/code-splitting.html#reactlazy
如果我们可以提供进一步帮助 - 请不要犹豫与此问题联系或发表评论,我们很乐意再看一看。
感谢您使用 Gatsby 💪