SSG Integration
SSG 集成
用 RaisFast 作为 Hugo、Astro、Hexo 或任何静态站点生成器的后端。评论、搜索、认证、电商、支付 — 一个二进制全部搞定。
静态站点需要一个后端
Hugo、Astro、Jekyll、Hexo、11ty 等静态站点生成器(SSG)非常快速和简单。但它们有一个根本性的限制:只能生成静态 HTML。一旦你需要动态功能,就卡住了。
现有方案:拼装 5+ 个服务
大多数 SSG 用户最终要拼装一个碎片化的技术栈:
Hugo / Astro(静态页面)
+ Disqus 或 Giscus → 评论
+ Algolia 或 DocSearch → 搜索
+ Netlify Forms → 表单提交
+ Cloudinary → 媒体管理
+ Auth0 或 Firebase Auth → 用户登录
+ Stripe → 支付
= 5-8 个账号、账单、API 密钥、维护负担RaisFast 方案:一个二进制
Hugo / Astro(静态页面)
+ RaisFast → 评论 + 搜索 + 表单 + 媒体 + 认证 + 支付
= 一个二进制,一个数据源,一次部署RaisFast 为 SSG 提供什么
| 功能 | SSG 用户通常怎么解决 | RaisFast |
|---|---|---|
| 评论 | Disqus(免费版有广告)或 Giscus(依赖 GitHub) | 内置评论系统,无广告 |
| 搜索 | Algolia(免费额度有限)或仅客户端搜索 | Tantivy 全文搜索,无限制 |
| 表单 | Netlify Forms 或 Formspree(提交次数有限) | 无限表单提交 |
| 认证 | Auth0 或 Firebase(配置复杂) | JWT + OAuth,简单 API |
| 媒体 | Cloudinary(付费)或 Git 管理 | 本地存储或 S3 |
| 电商 | 静态站没有好方案 | 购物车、订单、商品内置 |
| 支付 | 从零接入 Stripe | 支付宝、微信支付、Stripe 内置 |
| 管理后台 | 手动编辑 Markdown 文件 | React 管理后台 |
| API | 无 | 自动生成 REST API |
| 多租户 | 不可能 | 基于域名的租户隔离 |
架构
┌─────────────────────────────────────────┐
│ 用户浏览器 │
│ │
│ 静态 HTML(来自 Hugo/Astro) │
│ + │
│ 动态数据(来自 RaisFast API) │
│ - 评论组件 │
│ - 搜索栏 │
│ - 登录 / 注册 │
│ - 购物车 │
└─────────────┬───────────────────────────┘
│
┌────────┴────────┐
│ │
▼ ▼
CDN/Nginx RaisFast
(静态文件) (API 服务)
端口 9898
┌─────────────┐
│ SQLite / PG │
│ 认证 │
│ 评论 │
│ 搜索 │
│ 电商 │
│ 支付 │
└─────────────┘快速开始
1. 启动 RaisFast
curl -fsSL https://raisfast.com/install.sh | sh
raisfast2. 你的 SSG 照常构建静态页面
# Hugo
hugo build
# Astro
astro build3. 通过 API 连接
// 构建时从 RaisFast 拉取文章
const res = await fetch("http://localhost:9898/api/v1/posts");
const posts = await res.json();
// 或在浏览器端用 JS SDK 调用动态功能
import { RaisFast } from "@raisfast/sdk";
const rf = new RaisFast({ baseUrl: "http://localhost:9898/api" });选择你的 SSG
| SSG | 教程 | 最适合 |
|---|---|---|
| Hugo | Hugo + RaisFast → | 技术博客、文档站、个人站 |
| Astro | Astro + RaisFast → | 现代内容站、开发者博客 |
| Hexo | Hexo + RaisFast → | 中文技术博客 |
| 任意 SSG | 评论和搜索 → | 通用评论和搜索集成 |
部署
你的 SSG 产出和 RaisFast 可以运行在同一台服务器上:
# Nginx 配置
server {
listen 80;
# Hugo/Astro 的静态文件
location / {
root /var/www/static;
try_files $uri $uri/ /index.html;
}
# RaisFast API
location /api/ {
proxy_pass http://127.0.0.1:9898;
}
# RaisFast 管理后台
location /admin {
proxy_pass http://127.0.0.1:9898;
}
}一台服务器,一个 RaisFast 二进制,一个 Nginx 配置。这就是你完整的网站技术栈。
