不开发 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 属于是传统技能了,利用版本控制系统可以保留修改记录,也能享受到分布式备份方案。也为后续接入其他内容管理服务提供了可能性。
对象存储#
对象存储不是必须的,我引入对象存储的原因有两个:
- 图片不存数据库(有额外工作量)。
- 方便 CDN 回源。
这样设计的好处是?#
- 管理程序和博客应用完全隔离,两边可以独立开发和部署。
- 管理程序不运行时没有额外成本,手滑 broken 时不影响前台展示。
- 管理程序 API 化是面向 AI 友好的,在 blog-api 上提供 MCP 接口后甚至可以不需要 blog-cli 了。后面可以再说说这件事情的价值。
- 可以在本地用最趁手的编辑器写文章,不需要折腾富文本。享受现代 Native 编辑器带来的丝滑体验。这才是最重要的!!
大家有什么不一样的想法欢迎在评论区讨论。
评论