Skip to content

Commit cd3cbfe

Browse files
committed
fix: 修复 Docker 镜像中字体和静态资源 404
- CI: 完善 artifact 复制逻辑,确保字体、logo 等文件被正确复制 - fontLoader: 使用 import.meta.env.BASE_URL 支持子路径部署 Made-with: Cursor
1 parent 07656cc commit cd3cbfe

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

.github/workflows/build.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,12 @@ jobs:
7474
elif [ -d _build/dist ]; then
7575
cp -r _build/dist frontend/docker/
7676
else
77-
# artifact 可能把内容解压到根目录
7877
mkdir -p frontend/docker/dist
79-
cp -r index.html assets frontend/docker/dist/ 2>/dev/null || (echo "Artifact structure:" && find . -maxdepth 3 -type d && exit 1)
78+
for f in index.html assets captcha ppt; do [ -e "$f" ] && cp -r "$f" frontend/docker/dist/; done
79+
cp -r *.ttf *.png *.jpg *.svg *.txt *.js *.wasm frontend/docker/dist/ 2>/dev/null || true
80+
[ -f frontend/docker/dist/index.html ] || (echo "Artifact structure:" && find . -maxdepth 3 -type d && exit 1)
8081
fi
82+
ls -la frontend/docker/dist/ | head -25
8183
8284
- name: Set up Docker Buildx
8385
uses: docker/setup-buildx-action@v3

frontend/src/utils/fontLoader.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ export const preloadFonts = async (): Promise<boolean> => {
2424

2525
const fontPromises = fontVariants.map((variant: FontVariant) => {
2626
return new Promise<void>((resolve, reject) => {
27-
const font = new FontFace('Google Sans Code', `url(/${variant.file})`, {
27+
const base = (import.meta as { env?: { BASE_URL?: string } }).env?.BASE_URL ?? '/'
28+
const font = new FontFace('Google Sans Code', `url(${base}${variant.file})`, {
2829
weight: variant.weight,
2930
style: variant.style
3031
});

0 commit comments

Comments
 (0)