fix(deploy): sync public assets into standalone dist root
Next.js standalone output does not place public/ files at the dist root, so rsync --delete was removing logo/favicon/fonts/images from production. Copy public/ into dist after build so Nginx can serve them.
This commit is contained in:
@@ -136,6 +136,14 @@ cmd_build() {
|
|||||||
log "❌ 构建失败:$DIST_DIR 目录不存在"
|
log "❌ 构建失败:$DIST_DIR 目录不存在"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# standalone 构建不会把 public/ 输出到 dist 根目录;
|
||||||
|
# Nginx 以 dist 作为站点根目录,因此手动同步 public 静态资源(logo、favicon、fonts、images 等)
|
||||||
|
if [[ -d "$PROJECT_ROOT/public" ]]; then
|
||||||
|
cp -R "$PROJECT_ROOT/public/." "$DIST_DIR/"
|
||||||
|
log "✅ public 静态资源已同步到 $DIST_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
log "✅ 构建完成,产物大小: $(du -sh "$DIST_DIR" | cut -f1)"
|
log "✅ 构建完成,产物大小: $(du -sh "$DIST_DIR" | cut -f1)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user