#!/bin/bash # ==================================================== # 工作日志服务平台 - 移动端H5前端打包脚本 # ==================================================== set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)" MOBILE_DIR="${PROJECT_ROOT}/worklog-mobile" 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}打包移动端H5前端 (worklog-mobile)${NC}" echo -e "${GREEN}=========================================${NC}" # 检查项目目录 if [ ! -d "${MOBILE_DIR}" ]; then echo -e "${RED}ERROR: 找不到项目目录 ${MOBILE_DIR}${NC}" exit 1 fi cd "${MOBILE_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) # 部署到 deploy 目录 echo -e "${YELLOW}部署到 ${DEPLOY_DIR}/wlmobile/...${NC}" mkdir -p ${DEPLOY_DIR}/wlmobile rm -rf ${DEPLOY_DIR}/wlmobile/* cp -r dist/* ${DEPLOY_DIR}/wlmobile/ echo -e "${GREEN}=========================================${NC}" echo -e "${GREEN}构建并部署完成!${NC}" echo -e "${GREEN}=========================================${NC}" echo -e "输出目录: ${DEPLOY_DIR}/wlmobile/" echo -e "总大小: ${DIST_SIZE}" echo -e "文件数量: ${DIST_FILES}"