不开发 CRUD 后台如何管理博客文章?

小麦2025年06月10日709 字

分享一下我是如何用极低成本,优雅地管理博客文章的。

需不需要后台管理页面?

一般而言,内容系统都会包含一个后台管理页面,方便编辑、预览、发布、删除文章。

但是,对于「个人博客」这样一个更垂直和 “简单” 的系统,其实并不需要管理后台。

而像知乎、掘金、微信公众号都有各自的管理后台。它们并非只为个人提供服务,而是一种 toC 平台,后台其实也是前台,因此是管理页面依然是必要的。

我的架构

我的架构

在这个架构中,除了博客应用属于传统意义上的前端工作外,其他都是由 Node.js 完成,当然也可以说是 “后端” 工作。

这里我引入了两个核心角色:blog-cli 和 blog-api。

blog-cli

blog-cli 是一个用 Node.js 实现的命令行项目,用于:读取本地文件、提交版本控制和上传文件到对象存储。

严格意义上讲这也是一个 “界面”,相当于后台管理系统的专业定制简化版。维护这个程序的难度和成本相比做一套 UI 页面要低太多了。

这个程序的代码量为 260 行。

blog-api

blog-api 是一个用 Node.js 实现的 Serverless 函数服务(FaaS),它可以在内网环境安全高效地读写对象存储和数据库,也是一种几乎零成本的数据访问方案。

借助我前期已经实现的一套自动化部署方案,我可以在 30s 内将 blog-api 部署到云端,不需要操心服务器程序更新,是非常快捷的。

这个应用的代码量也非常少,一共 230 行。

Github

存 Github 属于是传统技能了,利用版本控制系统可以保留修改记录,也能享受到分布式备份方案。也为后续接入其他内容管理服务提供了可能性。

对象存储

对象存储不是必须的,我引入对象存储的原因有两个:

  1. 图片不存数据库(有额外工作量)。
  2. 方便 CDN 回源。

这样设计的好处是?

  1. 管理程序和博客应用完全隔离,两边可以独立开发和部署。
  2. 管理程序不运行时没有额外成本,手滑 broken 时不影响前台展示。
  3. 管理程序 API 化是面向 AI 友好的,在 blog-api 上提供 MCP 接口后甚至可以不需要 blog-cli 了。后面可以再说说这件事情的价值。
  4. 可以在本地用最趁手的编辑器写文章,不需要折腾富文本。享受现代 Native 编辑器带来的丝滑体验。这才是最重要的!!

大家有什么不一样的想法欢迎在评论区讨论。

评论

你需要先登录才能发表评论
Made by 捣鼓键盘的小麦 / © 2025 Front Talk 版权所有