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.

127 lines
2.9 KiB

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