QAUP_Management/deploy/docker/build-frontend.sh

66 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# QAUP 前端构建脚本
# 用于 Docker 构建过程中的前端资源构建
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
FRONTEND_DIR="$PROJECT_ROOT/qaup-ui"
BUILD_OUTPUT="$FRONTEND_DIR/dist"
echo "========================================="
echo "QAUP 前端构建开始"
echo "========================================="
# 检查前端目录
if [ ! -d "$FRONTEND_DIR" ]; then
echo "错误: 前端目录不存在: $FRONTEND_DIR"
exit 1
fi
cd "$FRONTEND_DIR"
# 检查 package.json
if [ ! -f "package.json" ]; then
echo "错误: package.json 不存在"
exit 1
fi
# 清理之前的构建
echo "清理之前的构建文件..."
rm -rf "$BUILD_OUTPUT"
# 安装依赖
echo "安装前端依赖..."
if [ -f "package-lock.json" ]; then
npm ci --only=production
else
npm install --only=production
fi
# 构建生产版本
echo "构建生产版本..."
npm run build:prod
# 验证构建结果
if [ ! -d "$BUILD_OUTPUT" ]; then
echo "错误: 构建失败,输出目录不存在: $BUILD_OUTPUT"
exit 1
fi
# 显示构建统计
echo ""
echo "========================================="
echo "前端构建完成统计:"
echo "========================================="
echo "构建输出目录: $BUILD_OUTPUT"
echo "构建文件大小:"
du -sh "$BUILD_OUTPUT"
echo ""
echo "主要文件列表:"
find "$BUILD_OUTPUT" -name "*.html" -o -name "*.js" -o -name "*.css" | head -10
echo ""
echo "前端构建完成!"