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

Azure静态Web应用部署时index.html丢失及构建错误求助

解决Azure部署纯HTML/JS静态应用时的index.html丢失及Oryx构建错误问题

核心原因

你的纯静态项目没有npm构建流程,但Azure的Oryx部署工具默认会查找package.json中的build或build:azure脚本,找不到就会触发构建错误,进而导致静态文件(包括index.html)未被正确部署。

解决方案

方案1:跳过Oryx构建流程(推荐)

因为纯HTML/JS项目无需构建,直接部署静态文件即可:

  • 登录Azure门户,进入你的应用服务资源
  • 进入「配置」→「应用程序设置」
  • 添加新的环境变量:
    • 名称:SCM_DO_BUILD_DURING_DEPLOYMENT
    • 值:false
  • 保存设置后重新触发部署,Oryx会跳过构建步骤,直接上传仓库中的所有静态文件。

方案2:添加空的build脚本(适配Custom部署类型)

如果必须保留Custom部署类型,可以在仓库根目录的package.json中添加一个无实际操作的build脚本,让Oryx通过构建检查:

{
  "scripts": {
    "build": "echo 'Static content requires no build'"
  }
}

提交这个package.json到GitHub后重新部署,Oryx会执行该脚本,不会报错,随后正常部署你的静态文件。

方案3:检查部署路径与文件排除规则

  • 确认GitHub仓库根目录确实存在index.html,且未被.gitignore文件排除
  • 检查Azure部署设置中的「根目录」是否为/(你的配置是正确的,但可再次确认)

额外说明

解决构建错误并成功部署后,getElementByName返回null的问题会自动消失——因为index.html已被正确部署到服务器,JS可以正常获取页面元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 21:27:33