71 lines
1.9 KiB
Batchfile
71 lines
1.9 KiB
Batchfile
|
|
@echo off
|
||
|
|
setlocal enabledelayedexpansion
|
||
|
|
|
||
|
|
echo 开始静态构建...
|
||
|
|
|
||
|
|
echo 1. 清理之前的构建文件...
|
||
|
|
if exist ".next" rmdir /s /q ".next" 2>nul
|
||
|
|
if exist "out" rmdir /s /q "out" 2>nul
|
||
|
|
|
||
|
|
echo 2. 备份并删除 API 目录...
|
||
|
|
set "api_backed_up=false"
|
||
|
|
if exist "app\api" (
|
||
|
|
robocopy "app\api" "..\temp-api-backup" /E >nul 2>&1
|
||
|
|
if exist "..\temp-api-backup" (
|
||
|
|
rmdir /s /q "app\api" >nul 2>&1
|
||
|
|
if not exist "app\api" (
|
||
|
|
set "api_backed_up=true"
|
||
|
|
echo API 目录已备份到上级目录并删除
|
||
|
|
) else (
|
||
|
|
echo 警告: 无法删除 API 目录,继续构建...
|
||
|
|
)
|
||
|
|
) else (
|
||
|
|
echo 警告: 无法备份 API 目录,继续构建...
|
||
|
|
)
|
||
|
|
) else (
|
||
|
|
echo API 目录不存在,跳过备份
|
||
|
|
)
|
||
|
|
|
||
|
|
echo 3. 构建静态文件...
|
||
|
|
call npm run build:static
|
||
|
|
set "build_result=!ERRORLEVEL!"
|
||
|
|
|
||
|
|
echo 4. 复制404页面...
|
||
|
|
if exist "public\404.html" (
|
||
|
|
copy "public\404.html" "out\404.html" >nul 2>&1
|
||
|
|
if exist "out\404.html" (
|
||
|
|
echo 404.html 已复制到 out 目录
|
||
|
|
) else (
|
||
|
|
echo 警告: 无法复制 404.html
|
||
|
|
)
|
||
|
|
) else (
|
||
|
|
echo 警告: public\404.html 不存在
|
||
|
|
)
|
||
|
|
|
||
|
|
echo 5. 恢复 API 目录...
|
||
|
|
if "!api_backed_up!" == "true" (
|
||
|
|
if exist "..\temp-api-backup" (
|
||
|
|
robocopy "..\temp-api-backup" "app\api" /E >nul 2>&1
|
||
|
|
rmdir /s /q "..\temp-api-backup" >nul 2>&1
|
||
|
|
if exist "app\api" (
|
||
|
|
echo API 目录已恢复
|
||
|
|
) else (
|
||
|
|
echo 警告: 无法恢复 API 目录,请手动将上级目录的 temp-api-backup 复制为 app\api
|
||
|
|
)
|
||
|
|
)
|
||
|
|
)
|
||
|
|
|
||
|
|
echo.
|
||
|
|
if !build_result! == 0 (
|
||
|
|
echo ✅ 静态构建完成!
|
||
|
|
echo 📁 静态文件位置: out/ 目录
|
||
|
|
echo 🚀 可以将 out/ 目录上传到服务器
|
||
|
|
echo.
|
||
|
|
echo 预览命令: npm run preview
|
||
|
|
) else (
|
||
|
|
echo ❌ 构建失败!
|
||
|
|
echo 错误代码: !build_result!
|
||
|
|
)
|
||
|
|
|
||
|
|
echo.
|
||
|
|
pause
|