.PHONY: build build-prod tar clean dev preview lint # 变量定义 IMAGE_NAME := duidui-admin-web TAR_FILE := deploy/duidui-admin-web.tar DEPLOY_DIR := deploy # 生产环境 API 地址 PROD_API_URL := https://admin.duiduiedu.com/admin/v1 # 构建前端项目(开发环境) build: @echo "构建前端项目(开发环境)..." @npm run build @echo "✅ 构建完成: dist/" # 构建前端项目(生产环境,先 clean 再构建,保证 dist 为全新) build-prod: clean @echo "==========================================" @echo "步骤 1: 配置生产环境 API 地址" @echo "==========================================" @echo "✅ 使用生产环境 API 地址: $(PROD_API_URL)" @echo "" @echo "==========================================" @echo "步骤 2: 构建前端项目" @echo "==========================================" @VITE_API_BASE_URL=$(PROD_API_URL) npm run build @echo "✅ 构建完成: dist/" @echo "" @echo "==========================================" @echo "步骤 3: 验证构建结果" @echo "==========================================" @if [ ! -d "dist" ]; then \ echo "❌ 错误: dist 目录不存在"; \ exit 1; \ fi @if grep -q "admin.duiduiedu.com" dist/assets/*.js 2>/dev/null; then \ echo "✅ 已确认使用生产环境 API 地址"; \ else \ echo "⚠️ 警告: 未找到生产环境 API 地址,请检查构建配置"; \ fi # 开发模式运行 dev: @echo "启动开发服务器..." @npm run dev # 预览构建结果 preview: @echo "预览构建结果..." @npm run preview # 代码检查 lint: @echo "运行代码检查..." @npm run lint # 打包部署(先构建生产 dist,再打 tar 包) tar: build-prod @echo "" @echo "==========================================" @echo "步骤 4: 创建部署包" @echo "==========================================" @if [ ! -d "dist" ]; then \ echo "❌ 错误: dist 目录不存在,构建失败"; \ exit 1; \ fi @chmod +x build-deploy.sh @./build-deploy.sh @echo "" @echo "==========================================" @echo "✅ 部署包创建完成: $(TAR_FILE)" @echo "==========================================" # 清理构建产物 clean: @echo "清理构建产物..." @rm -rf dist/ @rm -f $(TAR_FILE) @echo "✅ 清理完成"