#!/bin/bash # 开心APP前端部署脚本 # 使用方法: ./deploy.sh [环境] # 环境选项: dev (开发), test (测试), prod (生产) set -e # 默认环境为开发环境 ENV=${1:-dev} echo "🚀 开始部署开心APP前端应用 - 环境: $ENV" # 检查Node.js和npm if ! command -v node &> /dev/null; then echo "❌ Node.js 未安装,请先安装 Node.js" exit 1 fi if ! command -v npm &> /dev/null; then echo "❌ npm 未安装,请先安装 npm" exit 1 fi echo "✅ Node.js 版本: $(node --version)" echo "✅ npm 版本: $(npm --version)" # 安装依赖 echo "📦 安装依赖..." npm ci # 类型检查 echo "🔍 执行类型检查..." npm run type-check # 代码检查 echo "🔍 执行代码检查..." npm run lint # 构建应用 echo "🏗️ 构建应用..." if [ "$ENV" = "prod" ]; then npm run build else npm run build fi echo "✅ 构建完成!" # 部署到不同环境 case $ENV in "dev") echo "🚀 部署到开发环境..." echo "开发环境通常使用 npm run dev 启动" ;; "test") echo "🚀 部署到测试环境..." echo "将 dist 目录内容部署到测试服务器" # 这里可以添加具体的部署命令 # 例如: rsync -av dist/ user@test-server:/var/www/html/ ;; "prod") echo "🚀 部署到生产环境..." echo "将 dist 目录内容部署到生产服务器" # 这里可以添加具体的部署命令 # 例如: rsync -av dist/ user@prod-server:/var/www/html/ ;; *) echo "❌ 未知环境: $ENV" echo "支持的环境: dev, test, prod" exit 1 ;; esac echo "🎉 部署完成!" # 显示构建信息 if [ -d "dist" ]; then echo "" echo "📊 构建统计:" echo "构建目录: $(pwd)/dist" echo "文件数量: $(find dist -type f | wc -l)" echo "总大小: $(du -sh dist | cut -f1)" echo "" echo "主要文件:" ls -la dist/ fi