一个基于 Next.js 16 与 Tailwind CSS 4 打造的营销官网模板,专注于极致 SEO、性能表现与内容友好度。项目采用 App Router、MDX 内容层与模块化组件结构,支持静态导出,帮助团队快速上线高质量的品牌官网、博客与文档站点。
- SEO 优先:静态化输出、结构化数据、内置 sitemap/robots。
- 性能卓越:Tailwind 设计系统 + 可静态导出的 Next.js App Router。
- 内容友好:MDX 驱动的 Blog 与 Docs,可扩展对接 Headless CMS。
- 解耦架构:轻量 API(订阅、表单),与主应用彻底分离。
- 工程保障:TypeScript、Vitest、GitHub Actions CI 全面护航。
your-org-web/
├── .github/workflows/ci.yml # Lint + Test + Build CI
├── public/ # 静态资源与 SEO 相关文件
├── scripts/ # Sitemap、RSS、ENV 校验脚本
├── src/
│ ├── app/ # App Router 页面、API、错误处理
│ ├── components/ # UI、布局、营销、博客组件
│ ├── config/ # 站点信息、导航、SEO 配置
│ ├── content/ # MDX 内容层(Blog / Docs / Pages)
│ ├── hooks/ # 前端交互 Hook(滚动、主题等)
│ ├── lib/ # MDX 解析、SEO、工具函数
│ ├── styles/ # 全局与排版样式
│ ├── tests/ # Vitest + RTL 单元测试
│ └── types/ # 类型定义
└── ... # 配置文件(Tailwind、Next、TS 等)
💡 首次使用前可以通过
corepack enable启用 pnpm。
-
安装依赖
pnpm install
-
运行开发环境
pnpm dev
-
生产构建
# 构建静态文件(生成到 out/ 目录) pnpm build # 或使用 export 命令(等同于 build) pnpm export
- 在
src/content/blog与src/content/docs编写 MDX 文件即可自动生成对应页面。 - 可在
scripts/generate-rss.mts/scripts/generate-sitemap.mts中扩展自动化产物。 - 如果需要接入 CMS,可在
src/lib/cms.ts(待扩展)统一封装。
复制 .env.example 创建 .env 文件,并按需配置:
NEXT_PUBLIC_ANALYTICS_ID=your-domain.com
项目已配置为静态导出模式,构建后会生成纯静态 HTML 文件到 out/ 目录,可直接部署到任何静态托管服务。
pnpm build
# 或
pnpm export构建完成后,静态文件将生成在 out/ 目录中。
- 将代码推送到 GitHub/GitLab/Bitbucket
- 在 Vercel 导入项目
- Vercel 会自动检测 Next.js 项目并配置部署
- 项目已配置静态导出,Vercel 会自动识别并部署
out/目录
- 将代码推送到 Git 仓库
- 在 Netlify 创建新站点并连接仓库
- 构建设置:
- Build command:
pnpm build - Publish directory:
out
- Build command:
- 在
package.json中添加部署脚本(可选):"scripts": { "deploy": "pnpm build && gh-pages -d out" }
- 安装
gh-pages:pnpm add -D gh-pages - 运行
pnpm deploy
- 运行
pnpm build生成静态文件 - 将
out/目录的内容复制到服务器的 web 根目录 - 配置服务器支持 SPA 路由(所有路由重定向到
index.html)
- ✅ 所有页面都已静态化,包括动态路由(blog 和 docs 的 slug 页面)
- ✅
robots.txt和sitemap.xml会自动生成 ⚠️ API 路由(/api/newsletter)在静态导出时会被忽略,如需表单提交功能,请使用第三方服务(如 Formspree、Netlify Forms 等)⚠️ 图片已设置为未优化模式,适合静态托管