You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
2.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#!/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 ""