SSG(Static Site Generation 静态站点生成)是指在构建时生成静态页面,并在运行时直接展示这些静态页面。 这与 SSR(服务器端渲染)的主要区别在于,SSG 在运行时不需要调用服务器来渲染页面,而是直接展示预先生成的静态页面。
相比 SSR,使用 SSG 的优点是可以进一步提高页面加载速度,并且节省服务器资源,因为页面已经是静态的,不需要调用服务器来渲染。 这在构建内容不经常更新的站点时特别有用,例如博客、文档等,你现在看到的 servite 文档就使用了 SSG 👀。
Servite 通过 server.prerender 配置项支持了页面 SSG, 使用时可以传入 glob 模式匹配需要 SSG 的页面,例如:
import { defineConfig } from 'servite/config';
export default defineConfig({
server: {
prerender: {
routes: ['**/*'], // 匹配所有页面
failOnError: true,
},
},
});
SSG 是在构建时生成静态页面的,因此只有在重新构建时才能更新页面。 这意味着,如果需要频繁更新页面内容,则需要定期重新构建站点。