worklog/scripts/build-web.sh
zhangjf 814265d88e refactor: 重构项目目录结构和打包配置
1. 配置文件不包含 *example 文件
2. scripts 目录迁移到项目根目录
3. env.properties 迁移到 scripts 目录
4. MAIN_CLASS 参数迁移到 service.properties
5. assembly.xml 更新脚本和配置文件路径
6. 添加前端打包脚本:
   - build-web.sh: 管理后台打包
   - build-mobile.sh: 移动端H5打包
   - build-all.sh: 全量打包
7. 更新 .gitignore 忽略配置
2026-02-24 18:28:04 +08:00

64 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# ====================================================
# 工作日志服务平台 - 管理后台前端打包脚本
# ====================================================
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
WEB_DIR="${PROJECT_ROOT}/worklog-web"
DEPLOY_DIR="${PROJECT_ROOT}/deploy"
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo -e "${GREEN}=========================================${NC}"
echo -e "${GREEN}打包管理后台前端 (worklog-web)${NC}"
echo -e "${GREEN}=========================================${NC}"
# 检查项目目录
if [ ! -d "${WEB_DIR}" ]; then
echo -e "${RED}ERROR: 找不到项目目录 ${WEB_DIR}${NC}"
exit 1
fi
cd "${WEB_DIR}"
# 检查 node_modules
if [ ! -d "node_modules" ]; then
echo -e "${YELLOW}安装依赖...${NC}"
npm install
fi
# 清理旧的构建产物
echo -e "${YELLOW}清理旧的构建产物...${NC}"
rm -rf dist
# 构建
echo -e "${YELLOW}构建生产版本...${NC}"
npm run build
# 检查构建结果
if [ ! -d "dist" ]; then
echo -e "${RED}ERROR: 构建失败,找不到 dist 目录${NC}"
exit 1
fi
# 计算 dist 目录大小
DIST_SIZE=$(du -sh dist | cut -f1)
DIST_FILES=$(find dist -type f | wc -l)
echo -e "${GREEN}=========================================${NC}"
echo -e "${GREEN}构建完成!${NC}"
echo -e "${GREEN}=========================================${NC}"
echo -e "输出目录: ${WEB_DIR}/dist"
echo -e "总大小: ${DIST_SIZE}"
echo -e "文件数量: ${DIST_FILES}"
echo ""
echo -e "部署目录: ${DEPLOY_DIR}/worklog-web/"
echo -e "部署命令: cp -r dist/* ${DEPLOY_DIR}/worklog-web/"