You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps部署Vite React到Azure App Service指定槽位后应用崩溃求助

解决Azure DevOps部署Vite React到App Service槽位后应用崩溃的问题

针对你提供的Pipeline配置和问题,以下是具体排查和修复建议:

1. 调整缓存任务顺序(优化构建效率)

当前Pipeline中Cache@2在yarn install之后执行,导致缓存无法生效。调整顺序并添加缓存命中跳过安装的逻辑:

- task: Cache@2
  inputs:
    key: $(cacheKey)
    path: node_modules
    cacheHitVar: CACHE_RESTORED
  displayName: 'Cache yarn dependencies'

- script: |
    yarn install
  displayName: 'yarn install'
  condition: ne(variables.CACHE_RESTORED, 'true')

2. 修正启动命令的路径错误

你在归档任务中设置了includeRootFolder: false,部署后dist内的文件会直接放在/home/site/wwwroot/下,而非/home/site/wwwroot/dist/。修改启动命令:

StartupCommand: 'pm2 serve /home/site/wwwroot --no-daemon --spa'

添加--spa参数是为了处理React单页应用的路由刷新问题,避免出现404错误。

3. 检查Vite的base路径配置

如果你的槽位使用子路径(比如https://yourapp-qa.azurewebsites.net/qa),需在vite.config.js中配置对应base路径:

export default defineConfig({
  base: '/qa/', // 根路径部署则设为'/'
  // 其他配置项
})

base路径错误会导致静态资源加载失败,直接引发应用崩溃。

4. 查看App Service日志定位具体问题

应用崩溃的核心排查手段是查看Azure门户中的日志:

  • 进入目标App Service → 左侧「监控」→「日志流」,实时查看运行日志
  • 在「配置」→「常规设置」中开启「应用日志记录(文件系统)」,下载日志文件分析详细错误信息

常见错误包括:静态资源路径不匹配、Node版本不兼容、端口占用等。

5. 验证构建产物完整性

在构建阶段添加步骤,确认dist文件夹生成了完整的静态资源:

- script: |
    ls -la $(System.DefaultWorkingDirectory)/dist
  displayName: 'Check dist folder contents'

内容的提问来源于stack exchange,提问作者Ali Mardini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 16:18:17