build.bat 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. @echo off
  2. REM ============================================
  3. REM 前端构建打包脚本 (Windows)
  4. REM 用于开发环境构建前端并打包
  5. REM ============================================
  6. setlocal enabledelayedexpansion
  7. echo ============================================
  8. echo LQ Label 前端构建脚本
  9. echo ============================================
  10. echo.
  11. REM 检查是否在项目根目录
  12. if not exist "web\package.json" (
  13. echo 错误: 请在项目根目录运行此脚本
  14. pause
  15. exit /b 1
  16. )
  17. REM 进入 web 目录
  18. cd web
  19. REM 检查 node_modules
  20. if not exist "node_modules" (
  21. echo 安装依赖...
  22. call yarn install
  23. if !ERRORLEVEL! NEQ 0 (
  24. echo 依赖安装失败
  25. cd ..
  26. pause
  27. exit /b 1
  28. )
  29. )
  30. echo.
  31. echo [1/3] 构建前端项目...
  32. call yarn nx build lq_label --configuration=production
  33. if !ERRORLEVEL! NEQ 0 (
  34. echo 构建失败
  35. cd ..
  36. pause
  37. exit /b 1
  38. )
  39. echo.
  40. echo [2/3] 打包 dist 目录...
  41. REM 回到根目录
  42. cd ..
  43. REM 删除旧的 tar 包
  44. if exist "lq_label_dist.tar.gz" del /f "lq_label_dist.tar.gz"
  45. REM 使用 tar 打包(Windows 10+ 自带 tar)
  46. tar -czvf lq_label_dist.tar.gz -C web\dist\apps lq_label
  47. if !ERRORLEVEL! NEQ 0 (
  48. echo 打包失败,尝试使用 PowerShell...
  49. powershell -Command "Compress-Archive -Path 'web\dist\apps\lq_label\*' -DestinationPath 'lq_label_dist.zip' -Force"
  50. if !ERRORLEVEL! NEQ 0 (
  51. echo 打包失败
  52. pause
  53. exit /b 1
  54. )
  55. echo 注意: 生成的是 zip 格式,部署时需要调整解压命令
  56. )
  57. echo.
  58. echo [3/3] 完成!
  59. echo.
  60. echo ============================================
  61. echo 构建产物: lq_label_dist.tar.gz
  62. echo 可以提交到 Git 进行版本管理
  63. echo ============================================
  64. echo.
  65. echo 下一步:
  66. echo 1. git add lq_label_dist.tar.gz
  67. echo 2. git commit -m "build: update frontend dist"
  68. echo 3. git push
  69. echo 4. 在服务器上运行 deploy.sh
  70. echo.
  71. pause