|
|
#!/bin/bash
|
|
|
|
|
|
# OA模块重新构建和部署脚本
|
|
|
# 用于解决资源文件404错误
|
|
|
|
|
|
set -e
|
|
|
|
|
|
echo "=========================================="
|
|
|
echo "OA模块重新构建和部署脚本"
|
|
|
echo "=========================================="
|
|
|
|
|
|
# 获取项目根目录
|
|
|
PROJECT_ROOT="/Users/weizongsong/www/cz_hjjc"
|
|
|
OA_DIR="$PROJECT_ROOT/cz-hjjc-oa"
|
|
|
OUTPUT_DIR="$PROJECT_ROOT/backend/public/oa"
|
|
|
|
|
|
# 进入OA项目目录
|
|
|
cd "$OA_DIR"
|
|
|
|
|
|
echo ""
|
|
|
echo "步骤1: 清理旧的构建文件..."
|
|
|
if [ -d "dist" ]; then
|
|
|
rm -rf dist
|
|
|
echo "✓ 已清理 dist 目录"
|
|
|
else
|
|
|
echo "✓ dist 目录不存在,跳过清理"
|
|
|
fi
|
|
|
|
|
|
echo ""
|
|
|
echo "步骤2: 设置环境变量并构建..."
|
|
|
export VUE_APP_MODULE_NAME=oa
|
|
|
export VUE_APP_BASE_API=/api
|
|
|
|
|
|
echo "环境变量:"
|
|
|
echo " VUE_APP_MODULE_NAME=$VUE_APP_MODULE_NAME"
|
|
|
echo " VUE_APP_BASE_API=$VUE_APP_BASE_API"
|
|
|
|
|
|
echo ""
|
|
|
echo "开始构建(这可能需要几分钟)..."
|
|
|
npm run build:prod
|
|
|
|
|
|
if [ ! -d "dist" ]; then
|
|
|
echo "❌ 构建失败:dist 目录不存在"
|
|
|
exit 1
|
|
|
fi
|
|
|
|
|
|
echo "✓ 构建完成"
|
|
|
|
|
|
echo ""
|
|
|
echo "步骤3: 检查构建输出..."
|
|
|
echo "CSS文件:"
|
|
|
ls -1 dist/static/css/chunk-libs.* 2>/dev/null || echo " ⚠️ 未找到 chunk-libs.css"
|
|
|
echo "JS文件:"
|
|
|
ls -1 dist/static/js/chunk-libs.* 2>/dev/null || echo " ⚠️ 未找到 chunk-libs.js"
|
|
|
ls -1 dist/static/js/app.* 2>/dev/null || echo " ⚠️ 未找到 app.js"
|
|
|
|
|
|
echo ""
|
|
|
echo "步骤4: 备份旧文件(如果存在)..."
|
|
|
if [ -d "$OUTPUT_DIR" ]; then
|
|
|
BACKUP_DIR="${OUTPUT_DIR}.backup.$(date +%Y%m%d_%H%M%S)"
|
|
|
echo " 备份到: $BACKUP_DIR"
|
|
|
cp -r "$OUTPUT_DIR" "$BACKUP_DIR"
|
|
|
echo "✓ 备份完成"
|
|
|
else
|
|
|
echo "✓ 输出目录不存在,无需备份"
|
|
|
fi
|
|
|
|
|
|
echo ""
|
|
|
echo "步骤5: 部署到服务器..."
|
|
|
mkdir -p "$OUTPUT_DIR"
|
|
|
cp -r dist/* "$OUTPUT_DIR"
|
|
|
echo "✓ 部署完成到: $OUTPUT_DIR"
|
|
|
|
|
|
echo ""
|
|
|
echo "步骤6: 验证部署..."
|
|
|
if [ -f "$OUTPUT_DIR/index.html" ]; then
|
|
|
echo "✓ index.html 存在"
|
|
|
|
|
|
# 检查HTML中引用的文件
|
|
|
echo ""
|
|
|
echo "HTML中引用的资源文件:"
|
|
|
grep -oE 'chunk-libs\.[^"]*' "$OUTPUT_DIR/index.html" | head -2 | while read file; do
|
|
|
if [ -f "$OUTPUT_DIR/static/css/$file" ] || [ -f "$OUTPUT_DIR/static/js/$file" ]; then
|
|
|
echo " ✓ $file 存在"
|
|
|
else
|
|
|
echo " ❌ $file 不存在"
|
|
|
fi
|
|
|
done
|
|
|
else
|
|
|
echo "❌ index.html 不存在"
|
|
|
exit 1
|
|
|
fi
|
|
|
|
|
|
echo ""
|
|
|
echo "=========================================="
|
|
|
echo "✅ 构建和部署完成!"
|
|
|
echo "=========================================="
|
|
|
echo ""
|
|
|
echo "下一步操作:"
|
|
|
echo "1. 清除浏览器缓存(Ctrl+Shift+Delete 或 Cmd+Shift+Delete)"
|
|
|
echo "2. 强制刷新页面(Ctrl+F5 或 Cmd+Shift+R)"
|
|
|
echo "3. 访问: http://192.167.20.118:8080/oa/"
|
|
|
echo ""
|
|
|
echo "如果问题仍然存在,请检查:"
|
|
|
echo "- Web服务器(Nginx/Apache)的缓存配置"
|
|
|
echo "- 服务器上的文件权限"
|
|
|
echo "- 服务器日志中的错误信息"
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|