fix(makefile): disable SSR cache in dev to avoid stale rendered HTML

dx serve 热重载(重新编译代码)不会清除进程内的 IncrementalRenderer
缓存(DashMap<Uri, CachedHTML> in-process)。改了 SSR 渲染逻辑(如
markdown 渲染、组件结构)后,即使二进制重新编译了,dev server 仍返回
进程启动时缓存的旧 HTML,直到 TTL(默认 3600s)过期。

坑: Ctrl+C 重启 make dev 时,如果 dx serve 子进程没被真正杀掉(进程
PID 不变),内存缓存持续存在。表现为"代码改了但页面不变"。

修复: dev target 给 dx serve 加 SSR_CACHE_SECS=0,禁用 SSR 缓存。
每次请求都重新渲染,改代码立即生效。仅影响 dev,不影响生产构建。
This commit is contained in:
xfy 2026-06-23 09:33:13 +08:00
parent d194f17013
commit ad0d884065

View File

@ -32,7 +32,7 @@ dev: build-editor-incremental
@tailwindcss -i input.css -o public/style.css --watch & \ @tailwindcss -i input.css -o public/style.css --watch & \
TAILWIND_PID=$$!; \ TAILWIND_PID=$$!; \
trap 'kill $$TAILWIND_PID 2>/dev/null; exit' INT TERM EXIT; \ trap 'kill $$TAILWIND_PID 2>/dev/null; exit' INT TERM EXIT; \
dx serve --addr 0.0.0.0 SSR_CACHE_SECS=0 dx serve --addr 0.0.0.0
css: css:
@tailwindcss -i input.css -o public/style.css @tailwindcss -i input.css -o public/style.css