前端SSG:静态站点生成的艺术

前端SSG:静态站点生成的艺术

毒舌时刻

前端SSG?这不是给博客用的吗?

"我的应用需要动态内容,SSG不适合"——结果首屏加载慢,SEO差,
"SSG就是静态HTML,太简单了"——结果构建时间长,数据更新困难,
"我用SSR就够了"——结果服务器压力大,响应慢。

醒醒吧,SSG不是简单的静态HTML,而是一种现代化的前端架构!

为什么你需要这个?

  • 性能优异:静态文件加载快,无需服务器渲染
  • SEO友好:所有内容都是静态的,搜索引擎容易收录
  • 部署简单:可以部署到任何静态文件服务器
  • 安全性高:没有服务器端代码,减少攻击面

反面教材

// 反面教材:纯静态HTML <!DOCTYPE html> <html> <head> <title>我的博客</title> </head> <body> <h1>我的博客</h1> <div> <h2>第一篇文章</h2> <p>文章内容...</p> </div> <div> <h2>第二篇文章</h2> <p>文章内容...</p> </div> <!-- 手动更新内容,非常麻烦 --> </body> </html> 

正确的做法

// 正确的做法:使用Next.js SSG // pages/index.js export async function getStaticProps() { // 在构建时获取数据 const res = await fetch('https://api.example.com/posts'); const posts = await res.json(); return { props: { posts }, // 重新验证时间(秒) revalidate: 10 }; } function Home({ posts }) { return ( <div> <h1>我的博客</h1> <div className="posts"> {posts.map((post) => ( <div key={post.id} className="post"> <h2>{post.title}</h2> <p>{post.content}</p> </div> ))} </div> </div> ); } export default Home; // 正确的做法:使用Astro // src/pages/index.astro --- // 前端组件 import Header from '../components/Header.astro'; import Footer from '../components/Footer.astro'; // 在构建时获取数据 const res = await fetch('https://api.example.com/posts'); const posts = await res.json(); --- <html lang="zh-CN"> <head> <title>我的博客</title> </head> <body> <Header /> <main> <h1>我的博客</h1> <div> {posts.map((post) => ( <div key={post.id}> <h2>{post.title}</h2> <p>{post.content}</p> </div> ))} </div> </main> <Footer /> </body> </html> // 正确的做法:使用Gatsby // gatsby-node.js exports.createPages = async ({ graphql, actions }) => { const { createPage } = actions; // 查询数据 const result = await graphql(` query { allMarkdownRemark { edges { node { frontmatter { path } } } } } `); // 创建页面 result.data.allMarkdownRemark.edges.forEach(({ node }) => { createPage({ path: node.frontmatter.path, component: path.resolve('./src/templates/blog-post.js'), context: { // 传递数据到模板 } }); }); }; // src/templates/blog-post.js import React from 'react'; import { graphql } from 'gatsby'; export const query = graphql` query($path: String!) { markdownRemark(frontmatter: { path: { eq: $path } }) { frontmatter { title date } html } } `; const BlogPost = ({ data }) => { return ( <div> <h1>{data.markdownRemark.frontmatter.title}</h1> <p>{data.markdownRemark.frontmatter.date}</p> <div dangerouslySetInnerHTML={{ __html: data.markdownRemark.html }} /> </div> ); }; export default BlogPost; 

毒舌点评

看看,这才叫前端SSG!不是简单的静态HTML,而是使用Next.js、Astro、Gatsby等现代化框架,在构建时生成静态页面。

记住,SSG不是只能用于博客,它可以用于任何需要高性能、SEO友好的网站。通过增量静态再生(ISR)等技术,它还可以支持动态内容。

所以,别再觉得SSG简单了,它是现代前端开发的重要选择!

总结

  • Next.js SSG:支持静态生成和增量静态再生
  • Astro:专注于静态站点生成,支持多种框架
  • Gatsby:基于React的静态站点生成器,生态丰富
  • 构建时数据获取:在构建过程中获取数据,生成静态页面
  • 增量静态再生:定期重新生成页面,保持内容新鲜
  • 客户端交互:通过JavaScript添加动态交互
  • 部署灵活:可以部署到Vercel、Netlify等平台
  • 性能优化:自动代码分割、图片优化等

SSG,让你的网站既快又友好!

Read more

【博客之星2025年度总评选】2025年度技术博客总结:从Python基础到AI前沿的进阶之旅

【博客之星2025年度总评选】2025年度技术博客总结:从Python基础到AI前沿的进阶之旅

本文目录 一、个人成长与突破盘点 1.1 技术深度与广度的双重突破 1.2 问题解决能力的显著提升 1.3 技术视野的前瞻性拓展 二、年度创作历程回顾 2.1 从基础到高级的系统化梳理 2.2 内容质量的持续提升 三、个人生活与博客事业的融合与平衡 四、结语         2025年对于我而言,是技术深耕与突破的关键一年。作为一位专注于Python技术栈的开发者,在这一年中不仅实现了个人技术能力的飞跃,更通过高质量的博客内容为众多开发者提供了实用的技术指南。以下是对2025年度博客创作的全面总结。 一、个人成长与突破盘点 1.1 技术深度与广度的双重突破         2025年的技术探索从Python基础逐步深入到高级应用与前沿领域。年初,专注于Python核心模块的深度解析,如random、math、operator等模块的高级用法,展现了扎实的Python基础功底。随着年份推进和技术视野不断拓展,逐步覆盖了AI绘画、OpenAI API集成、Gemini 3.0等前沿技术领域。         特别值得一提的是,

Agent Skills:2026年最值得关注的AI大模型使用方式(Agent vs MCP深度解析)

Agent Skills:2026年最值得关注的AI大模型使用方式(Agent vs MCP深度解析)

2026年,AI不再只是“会聊天”的助手。如果你还在用大模型干“问一句、复制粘贴、关掉窗口”这种事,那你可能已经落后了整整一个时代。 真正改变游戏规则的,是 Agent Skills(智能体技能) —— 它正成为2026年最值得关注、最具实战价值的大模型使用方式。 但与此同时,另一个概念也频繁出现在技术圈:MCP(Model Context Protocol)。很多人混淆二者,甚至误以为它们是竞争关系。其实,它们是互补的“上下层”架构。 今天,我们就来彻底讲清楚: * 什么是 Agent Skills? * 什么是 MCP? * 它们有何区别与联系? * 以及你该如何利用它们提升效率? 一、从“问问题”到“派任务”:AI使用范式的根本转变 过去一年,我给上百家企业做过AI落地培训。我发现一个残酷的事实: 88%的企业声称在用AI,但只有6%

Python 2026 年发展局势:AI 时代的 “通用基础设施语言”

2026 年的 Python 已从 “热门编程语言” 进化为全球数字生态的核心基础设施语言,其地位不仅稳固且进一步强化,同时也面临新的机遇与挑战,整体呈现 “一核多翼、优势固化、局部竞争” 的格局。 一、核心优势:AI + 全生态双轮驱动,地位无可替代 1. AI / 大模型领域的绝对霸主这是 Python 最核心的护城河。2026 年大模型落地、AI Agent 开发、多模态应用、低代码 AI 工具等场景中,Python 依然是95% 以上开发者的首选语言: * 生态垄断:PyTorch 3.0、TensorFlow 2.18、LangChain 2.0、Transformers 等核心框架均以 Python 为第一开发语言; * 效率优势: