Explorar o código

update script

yb hai 10 meses
pai
achega
0c59e6cd1e
Modificáronse 1 ficheiros con 29 adicións e 4 borrados
  1. 29 4
      bash/run.sh

+ 29 - 4
bash/run.sh

@@ -1,10 +1,11 @@
 #!/bin/bash
 
 # 配置
-SOURCE_DIR="dist-prod"              # 源文件夹
+SOURCE_DIR="dist-prod"              # 打包生成的源文件夹
 ZIP_NAME="dc.ifoodme.com.zip"       # 输出的 ZIP 文件名
 TEMP_DIR="/tmp/dc.ifoodme.com"      # 临时目录,用于构建目标结构
 TARGET_DIR="dc.ifoodme.com"         # ZIP 中的目标目录名
+BUILD_CMD="pnpm run build:prod"     # 打包命令
 
 # 颜色输出
 RED='\033[0;31m'
@@ -18,7 +19,7 @@ command_exists() {
 
 # 检查依赖
 check_dependencies() {
-    for cmd in zip unzip; do
+    for cmd in pnpm zip unzip; do
         if ! command_exists "$cmd"; then
             echo -e "${RED}错误:需要安装 $cmd${NC}"
             exit 1
@@ -26,6 +27,16 @@ check_dependencies() {
     done
 }
 
+# 执行打包
+run_build() {
+    echo "开始执行打包: $BUILD_CMD..."
+    if ! $BUILD_CMD; then
+        echo -e "${RED}打包失败${NC}"
+        exit 1
+    fi
+    echo -e "${GREEN}打包完成${NC}"
+}
+
 # 检查源文件夹
 check_source() {
     if [ ! -d "$SOURCE_DIR" ]; then
@@ -38,9 +49,9 @@ check_source() {
     fi
 }
 
-# 打包
+# 打包 ZIP
 create_zip() {
-    echo "开始打包..."
+    echo "开始打包 ZIP..."
 
     # 创建临时目录并复制文件
     mkdir -p "$TEMP_DIR"
@@ -59,6 +70,19 @@ create_zip() {
     fi
 }
 
+# 测试解压(可选)
+test_unzip() {
+    echo "测试解压..."
+    mkdir -p test_unzip
+    unzip -o "$ZIP_NAME" -d test_unzip >/dev/null
+    if [ -f "test_unzip/$TARGET_DIR/index.html" ]; then
+        echo -e "${GREEN}解压测试成功:test_unzip/$TARGET_DIR/index.html 存在${NC}"
+    else
+        echo -e "${RED}解压测试失败:未生成正确的目录结构${NC}"
+        exit 1
+    fi
+}
+
 # 清理
 cleanup() {
     echo "清理临时文件..."
@@ -69,6 +93,7 @@ cleanup() {
 # 主函数
 main() {
     check_dependencies
+    run_build
     check_source
     create_zip
     cleanup