MVP: 按 07 风格重写前端 + Go 后端落地(长文/短文、编辑器、后台管理)

This commit is contained in:
Sakurasan
2026-09-20 20:56:03 +08:00
parent edee708802
commit 4d8f2de3a4
96 changed files with 6005 additions and 2602 deletions
+68
View File
@@ -0,0 +1,68 @@
SHELL := /bin/bash
GO ?= go
PNPM ?= pnpm
ADDR ?= :8080
.PHONY: help deps web server dev start build test clean db-reset stop logs
help:
@echo "ONE · 一个博客"
@echo ""
@echo " make dev 前后端一起起(后端 8080,前端 3000 带热更新)"
@echo " make web 只构建前端到 frontend/dist"
@echo " make server 只起后端(8080)"
@echo " make start 构建前端 + 单端口启动(8080 同时服务前后端)"
@echo " make deps 安装前后端依赖"
@echo " make test 跑后端测试"
@echo " make stop 停掉 make dev 起的两个进程"
@echo " make logs 看 dev 进程日志"
@echo " make clean 清理构建产物"
@echo " make db-reset 删掉本地 SQLite 库(会清空数据)"
deps:
cd backend && $(GO) mod download
cd frontend && $(PNPM) install
web:
cd frontend && $(PNPM) run build
server:
cd backend && ONE_ADDR=$(ADDR) $(GO) run .
# 一条命令起后端 + 前端(开发用,两个进程)
# 输出写进 .run/*.log,避免后台进程占住终端导致命令不返回
dev:
@mkdir -p .run
@(cd backend && { ONE_ADDR=$(ADDR) $(GO) run . > ../.run/server.log 2>&1 & echo $$! > ../.run/server.pid; })
@(cd frontend && { $(PNPM) run dev > ../.run/web.log 2>&1 & echo $$! > ../.run/web.pid; })
@echo "后端 http://localhost:8080 (日志 .run/server.log)"
@echo "前端 http://localhost:3000 (日志 .run/web.log)"
@echo "停止:make stop 看日志:make logs"
# 生产式单端口:构建前端,由 Go 静态托管
start: web
cd backend && ONE_ADDR=$(ADDR) $(GO) run .
build: web
cd backend && $(GO) build -o ../one-server .
test:
cd backend && $(GO) test ./...
stop:
@for f in .run/server.pid .run/web.pid; do \
if [ -f $$f ]; then pid=$$(cat $$f); \
pkill -P $$pid 2>/dev/null; kill $$pid 2>/dev/null; \
fi; \
done
@rm -f .run/*.pid
@echo stopped
logs:
@tail -f .run/server.log .run/web.log
clean:
rm -rf frontend/dist one-server .run
db-reset:
rm -f data/one.db data/one.db-wal data/one.db-shm