66 lines
1.5 KiB
Bash
Executable File
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 "前端构建完成!" |