第 06 版·代码
用 Node 自带的 SQLite 搭一个博客
Node 22 之后,node:sqlite 终于可以零依赖用了。这个博客就是被它救活的。
为什么不用现成的框架
试过 Hexo、Hugo、Astro,都很漂亮,但每次发文都要走一遍构建流程,像在给机器打工。我想要的是:打开后台,写,点发布,完事。
于是就有这个东西:
- 零依赖,不需要
npm install - 数据存在一个 SQLite 文件里
- 前台是服务端直出,没有打包和 hydration
- 后台是一个能用的 Markdown 编辑器
建表
const db = new DatabaseSync('data/blog.db');
db.exec(`
CREATE TABLE IF NOT EXISTS posts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
body TEXT NOT NULL,
created_at TEXT NOT NULL
)
`);写入也很直白:
db.prepare('INSERT INTO posts (title, body, created_at) VALUES (?, ?, ?)')
.run(title, body, new Date().toISOString());几个注意点
| 事项 | 说明 |
|---|---|
| 并发 | 单进程 + WAL,个人博客绰绰有余 |
| 备份 | 复制 data/ 目录即可 |
| 部署 | node server.js,前面挂个反向代理 |
跑起来只需要:
node server.js
# http://127.0.0.1:4100简单,但够用。
本版编辑 / 醍醐之 · 第 06 版 · 2026-10-18