yggdrasil/Makefile
xfy ad0d884065 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,不影响生产构建。
2026-06-23 09:33:13 +08:00

50 lines
1.5 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.PHONY: dev build build-linux css css-watch clean build-editor build-editor-incremental highlight-css test
build:
@$(MAKE) build-editor
@$(MAKE) highlight-css
@tailwindcss -i input.css -o public/style.css --minify
@dx build --release --debug-symbols=false
build-linux:
@$(MAKE) build-editor
@$(MAKE) highlight-css
@tailwindcss -i input.css -o public/style.css --minify
@dx build @client --release --debug-symbols=false --wasm-js-cfg false
@dx build @server --release --debug-symbols=false --target x86_64-unknown-linux-musl --wasm-js-cfg false --features server
highlight-css:
@cargo run --bin generate_highlight_css
build-editor:
@echo "Building Tiptap editor..."
@cd libs/tiptap-editor && npm ci --include=dev && npm run build
@echo "Tiptap editor built."
# dev 用的增量构建:跳过 npm ci假设 node_modules 已存在),仅 vite build。
# 与 build-editor 分开,避免每次 make dev 都重装依赖。
build-editor-incremental:
@cd libs/tiptap-editor && npm run build
dev: build-editor-incremental
@echo "Building Tiptap editor (incremental)..."
@echo "Starting tailwindcss watch and dx serve..."
@tailwindcss -i input.css -o public/style.css --watch & \
TAILWIND_PID=$$!; \
trap 'kill $$TAILWIND_PID 2>/dev/null; exit' INT TERM EXIT; \
SSR_CACHE_SECS=0 dx serve --addr 0.0.0.0
css:
@tailwindcss -i input.css -o public/style.css
css-watch:
@tailwindcss -i input.css -o public/style.css --watch
test:
@cargo test
clean:
@cargo clean
@rm -f public/style.css public/highlight.css
@rm -rf uploads/.cache