JS 框架 词条目录
前端Wiki/词条/静态站点生成 SSG

静态站点生成 SSG

定义在构建阶段就把所有页面预渲染成静态 HTML 的方式,兼顾性能、SEO 与极低的部署成本

SSR 是请求来时现渲染,SSG 则把渲染提前到构建时:博客文章、产品介绍、文档这类内容相对固定的页面,构建一次产出纯 HTML,之后直接丢到 CDN,访问速度拉满、服务器零开销。Hexo、Hugo、VitePress、Astro、Next.js 的 export 都属此列。

它的边界在于内容的动态性:如果页面依赖频繁变化的个性化数据,构建产物很快过期,重新构建的频率扛不住。所以实际项目常做混合——静态主体用 SSG,需要实时性的小块再客户端请求注入,这正是 islands 架构流行的原因。

JavaScript
// 构建时生成静态页面的极简思路(SSG 演示)
var fs = require('fs');
var posts = [
  { slug: 'hello', title: '第一篇', body: '你好,世界。' },
  { slug: 'ssg',   title: '什么是 SSG', body: '构建时生成静态 HTML。' }
];

posts.forEach(function (p) {
  var html = '<!doctype html><html><body>' +
    '<h1>' + p.title + '</h1><p>' + p.body + '</p>' +
    '<a href="/">返回首页</a></body></html>';
  fs.writeFileSync('dist/' + p.slug + '.html', html);
});
console.log('生成完毕:' + posts.length + ' 个静态页面');
⚠ 常见误区
🔗 相关词条Vite前端
← 返回来源章节Vite