javascript 有没有可能建立一个静态(SSG)网站与盖茨比,禁用SSR?

zd287kbt  于 2023-02-18  发布在  Java
关注(0)|答案(1)|浏览(109)

在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".
jhkqcmku

jhkqcmku1#

构建一个静态站点和在服务器端进行渲染几乎是一回事,主要的区别在于何时完成(在构建时而不是按需)。
生成要交付给客户机的HTML的代码仍然必须执行,并且仍然必须在window不可用的环境中运行。
所以不可以。您仍然需要执行变通方案,以便只能在客户机上运行的代码只能在客户机上运行。

相关问题