在Gatsby文档中,默认构建模式是SSG:
SSG是Gatsby默认的渲染模式。虽然名字里有“static”这个词,但它并不意味着无聊或毫无生气。它只是意味着整个网站在构建时被预先渲染成HTML、CSS和JavaScript,然后作为静态资产提供给浏览器。
但似乎在构建它时,组件和库必须是SSR友好的,而且在使用仅限客户端的库时,您必须need to use workarounds。
从文档来看,似乎有三个渲染选项:
- SSG -静态站点生成
- DSG -延迟静态生成
- SSR -服务器端渲染
如果我对使用SSR不感兴趣,只想提供Gatsby站点的静态SSG版本,有没有一个选项可以建立一个纯静态站点,像Vite或Create React App这样的客户端站点,而不会抱怨服务器端呈现错误?
failed Building static HTML for pages - 1.639s
ERROR #95312 HTML.COMPILATION
"window" is not available during server-side rendering. Enable "DEV_SSR" to debug this during "gatsby develop".
1条答案
按热度按时间jhkqcmku1#
构建一个静态站点和在服务器端进行渲染几乎是一回事,主要的区别在于何时完成(在构建时而不是按需)。
生成要交付给客户机的HTML的代码仍然必须执行,并且仍然必须在
window
不可用的环境中运行。所以不可以。您仍然需要执行变通方案,以便只能在客户机上运行的代码只能在客户机上运行。