快捷菜单
常用功能一站直达
更多功能请点顶栏「快捷菜单」
2026.7.8 提出:
astro的ssr,eo pages的kv或者blob,eo边缘函数,cnb仓库,等,可以弄一个实时更新且具有后台的博客嘛?😊😊😊
Astro 的 SSR 模式结合 EO Pages 的 KV 存储、EO 边缘函数和 CNB 仓库,完全可以构建一个实时更新且具备后台管理功能的博客系统。关键在于 利用 Astro SSR 在边缘函数中动态渲染内容,将博客数据存储在 EO KV 中实现即时更新,同时通过自定义 API 路由提供后台管理能力。无需传统服务器,所有逻辑在边缘节点执行,满足“实时更新”和“零服务器后台”需求。以下是具体实现逻辑:
@astrojs/edge 适配器将 Astro 项目部署到 EO 边缘函数,支持动态路由(如 /posts/[slug].astro)和 API 路由(如 /api/posts),完全绕过静态生成流程。src/pages/api 目录下的 API 路由(如 posts.ts),通过边缘函数提供 RESTful 接口:/admin 路由),通过 Fetch 调用同源 API 操作 KV 数据,无需独立后端。| 组件 | 角色 |
|---|---|
| Astro SSR | 动态渲染页面,通过 API 路由与 KV 交互 |
| EO KV 存储 | 持久化存储博客内容(单值 ≤1MB,适合文章文本;大文件用 Blob 存储) |
| EO 边缘函数 | 执行 SSR 渲染逻辑、API 路由、权限校验 |
| CNB 仓库 | 托管代码,触发 CI/CD 流水线(仅影响代码更新,不影响内容实时性) |
posts:article-slug(如 posts:how-to-astro-ssr)。env.KV_NAMESPACE.get(key) 读写数据。1npm install @astrojs/edge在 astro.config.mjs 中启用:
1import { defineConfig } from 'astro/config';
2import edge from '@astrojs/edge';
3
4export default defineConfig({
5 output: 'server',
6 adapter: edge(),
7});/src/pages/posts/[slug].astro) 1export async function getStaticPaths() {
2 // 仅用于生成路由列表(可选),实时内容仍从 KV 读取
3 return [];
4}
5
6export async function onRequest({ params, request }) {
7 const { slug } = params;
8 // 从 EO KV 动态读取最新内容
9 const post = await env.KV_NAMESPACE.get(`posts:${slug}`, 'json');
10
11 if (!post) return new Response('Not Found', { status: 404 });
12
13 return new Response(
14 Astro.renderTemplate`<html>...${post.content}...</html>`,
15 { headers: { 'Content-Type': 'text/html' } }
16 );
17}/src/pages/api/posts.ts) 1export async function POST({ request, cookies }) {
2 // 1. 验证 JWT 或简单 Token(需自行实现)
3 const token = cookies.get('admin_token');
4 if (token !== SECRET_TOKEN) return new Response('Unauthorized', { status: 401 });
5
6 // 2. 解析请求体
7 const { slug, content } = await request.json();
8
9 // 3. 写入 EO KV(实时生效)
10 await env.KV_NAMESPACE.put(`posts:${slug}`, JSON.stringify({ content }));
11
12 return new Response(JSON.stringify({ success: true }), {
13 headers: { 'Content-Type': 'application/json' }
14 });
15}POST /api/posts 接口,直接写入 EO KV。posts:2025/07/slug 实现分类)。该方案完全可行:
适用场景:个人博客、企业官网、文档站等内容驱动型网站,尤其适合追求高性能、低运维成本的开发者。若需完整实现,可参考 腾讯云 EO Pages 全栈部署文档 及 Astro SSR 适配器指南。
日历 · 精选 · 友链 · 更多
如果内容对你有帮助,欢迎请我喝杯咖啡 ☕



One的公众号
爱折腾博客的小白