#!/bin/bash ### # @Date: 2025-04-25 13:45:35 # @LastEditors: 陈子健 # @LastEditTime: 2025-06-25 14:01:43 # @FilePath: /lyroc/build.sh ### # lyroc 打包脚本 # 该脚本将前后端整合并打包为Electron应用 # 显示彩色输出 GREEN='\033[0;32m' BLUE='\033[0;34m' RED='\033[0;31m' NC='\033[0m' # No Color echo -e "${BLUE}开始构建 lyroc 应用...${NC}" # 检查基本命令是否存在 command -v node >/dev/null 2>&1 || { echo -e "${RED}错误: node 未安装${NC}" >&2; exit 1; } command -v npm >/dev/null 2>&1 || { echo -e "${RED}错误: npm 未安装${NC}" >&2; exit 1; } command -v python3 >/dev/null 2>&1 || { echo -e "${RED}错误: python3 未安装${NC}" >&2; exit 1; } # 项目根目录 ROOT_DIR="$(pwd)" FRONTEND_DIR="$ROOT_DIR/frontend" BACKEND_DIR="$ROOT_DIR/backend_local" ELECTRON_DIR="$ROOT_DIR/electron-app" # 1. 构建前端 echo -e "${GREEN}[1/4] 构建前端...${NC}" cd "$FRONTEND_DIR" || exit 1 npm install npm run build if [ $? -ne 0 ]; then echo -e "${RED}前端构建失败${NC}" exit 1 fi echo -e "${GREEN}前端构建成功${NC}" # 2. 确认后端依赖已安装 echo -e "${GREEN}[2/4] 配置后端...${NC}" cd "$BACKEND_DIR" || exit 1 # 创建虚拟环境并安装依赖 python3 -m pip install --upgrade pip python3 -m pip install -r requirements.txt if [ $? -ne 0 ]; then echo -e "${RED}后端依赖安装失败${NC}" exit 1 fi echo -e "${GREEN}后端配置完成${NC}" # 3. 配置Electron应用 echo -e "${GREEN}[3/4] 配置Electron应用...${NC}" cd "$ELECTRON_DIR" || exit 1 # npm install # if [ $? -ne 0 ]; then # echo -e "${RED}Electron依赖安装失败${NC}" # exit 1 # fi echo -e "${GREEN}Electron配置完成${NC}" # 4. 创建图标目录 echo -e "${GREEN}[4/4] 准备应用图标...${NC}" mkdir -p "$ELECTRON_DIR/build" # 如果没有图标,使用默认图标或生成一个简单图标 if [ ! -f "$ELECTRON_DIR/build/icon.icns" ]; then echo -e "${BLUE}使用默认图标${NC}" # 这里可以复制一个默认图标或使用命令生成简单图标 fi # 5. 打包应用 echo -e "${GREEN}开始打包Electron应用...${NC}" cd "$ELECTRON_DIR" || exit 1 npm run build if [ $? -ne 0 ]; then echo -e "${RED}Electron打包失败${NC}" exit 1 fi echo -e "${GREEN}应用打包成功!${NC}" echo -e "${BLUE}应用位于: ${ELECTRON_DIR}/dist${NC}"