薄荷科技薄荷科技
技术博客2026年3月10日·8 分钟阅读

用 Next.js 静态导出构建官网:我们的技术选型与实践

黄博文创始人 / 技术负责人

2026年3月10日 · 8 分钟阅读

为什么选择静态站?

薄荷编程的官网本质上是一个营销展示站——内容更新频率不高,不需要用户登录,也没有复杂的动态交互。对于这类场景,静态站点生成(SSG)是最佳选择:加载速度快、部署成本低、SEO 友好、安全性高。

我们考察了 Hugo、Astro、Next.js 等方案。最终选择 Next.js,核心原因是团队对 React 生态非常熟悉,Next.js 的 App Router 提供了优秀的开发体验,而 output: "export" 配置让我们能享受 Next.js 的全部开发时特性,同时输出纯静态 HTML。

技术架构设计

我们的架构遵循「数据驱动」原则:所有内容都定义在 TypeScript 数据文件中,页面组件只负责渲染。这样做的好处是类型安全、易于维护,且不需要引入 CMS 或数据库。

路由结构使用 Next.js App Router,每个页面对应一个目录。动态路由(如课程详情页)通过 generateStaticParams() 在构建时生成所有静态页面。

样式方面,我们采用 Tailwind CSS v4,定义了薄荷绿(mint)主题色系,确保全站视觉一致性。中文排版使用 PingFang SC + Microsoft YaHei + Noto Sans SC 字体栈,覆盖主流操作系统。

小团队的技术选型应该「够用就好」—— 不追求技术栈的新潮,而是追求开发效率和可维护性。

SEO 优化实践

作为一个面向贵阳本地市场的教育品牌,百度 SEO 是我们的重点。我们做了几件关键的事情:

第一,每个页面都有独立的 title、description 和 keywords 配置,通过统一的 generatePageMetadata() 函数生成,确保格式一致。

第二,大量使用 Schema.org 结构化数据(JSON-LD),包括 Organization、Course、FAQPage 等 schema,帮助搜索引擎更好地理解页面内容。

第三,通过 next-sitemap 自动生成 sitemap.xml 和 robots.txt,确保所有页面都能被搜索引擎发现和索引。

部署方案:腾讯云 COS + GitHub Actions

静态站点的部署非常简单。我们使用腾讯云 COS(对象存储)托管静态文件,配合 CDN 加速,国内访问速度极快。

部署流程完全自动化:通过 GitHub Actions 的 workflow_dispatch 触发,执行 npm run build 生成静态文件到 out/ 目录,然后使用 coscmd 同步到 COS 存储桶。整个过程不到两分钟。

这个方案的月度成本几乎可以忽略不计——COS 存储和 CDN 流量对于一个企业官网来说微乎其微,远低于传统云服务器方案。

总结与思考

对于小团队来说,技术选型的核心是「降低认知负担」。Next.js + TypeScript + Tailwind CSS 这套组合,团队中任何一个前端开发者都能快速上手,不需要学习新的模板语言或 CMS 系统。

静态站点生成不是万能的,但对于内容更新频率不高的营销站来说,它是性价比最高的方案。如果未来需要更频繁的内容更新,我们可以引入 Headless CMS,而不需要重写整个站点。

最好的技术方案不是最先进的,而是最适合团队当前阶段的。

薄荷科技公众号二维码

关注薄荷科技公众号

第一时间获取教学动态和编程干货

和我们聊聊

对我们的技术、教学或团队感兴趣?欢迎联系。