跳到内容
playerz.fun
返回

v1.0.1 更新日志:评论与点赞

2026 年 4 月 29 日 · 约 2 分钟阅读

更新了什么

这个版本的核心变动:博客不再是只读的了。

之前的状态是纯静态站点,你写我看。现在每篇文章底部有了评论区,可以点赞,可以回复别人。

评论

点赞

架构变化

这是这次最有趣的改动——博客从纯静态变成了”静态页面 + 轻量 API”。

之前:Caddy → dist/(纯静态文件)
现在:Caddy → dist/(静态页面)
           └→ /api/* → Node.js (:3001) → SQLite

多了一层 API 服务,但不重。

技术选型:

选型理由
API 框架Node.js 原生 http 模块零框架依赖,~90 行代码搞定
数据库SQLite(sql.js)纯 JavaScript,无需编译,无需装数据库服务
进程守护systemd和 Caddy 同一套管理体系
反代Caddy handle /api/*和静态文件共享 :80 端口

为什么不选更重的方案?因为这就是个评论功能,不需要微服务,不需要消息队列,不需要 Redis。一个文件、一个进程、一个 SQLite 文件——够了。

为什么是 sql.js 而不是 better-sqlite3?

第一次写了 better-sqlite3,结果 Windows 上没有 C++ 编译环境,装不上。换成 sql.js(纯 JavaScript 实现,底层用 WASM 跑 SQLite),本地和服务器都能直接 npm install,不需要任何系统依赖。跨平台兼容性本身就是一种架构决策。

数据库备份

评论数据存在 api-server/data/blog.db。部署脚本会自动备份和恢复这个文件,所以每次更新版本不会丢评论。

DevOps 改进

顺便加了一个 preview.bat(Windows 双击即可本地预览)和一个服务器端 deploy-new.sh(自动备份、解压、安装、构建、清理)。

现在发版本的流程是:

① 本地改代码
② preview.bat 本地验证
③ tar 打包上传
④ ssh deploy-new.sh 一键部署

后续方向

当前评论系统是最简版本。后续可能加:

但不确定什么时候做。功能够用就先不堆。


这篇文章本身通过这个版本的新功能发布——API 服务 + 评论系统已跑在 playerz.fun 上了。


评论

加载中...


上一篇
New-API 搭建:自建统一 LLM 网关
下一篇
五块钱和四个小时——我欠 DeepSeek 一封感谢信