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

在Azure部署React应用时遭遇ENOENT文件不存在错误求助

解决Azure上React应用的ENOENT报错(找不到policy文件)

页面能正常加载说明核心应用逻辑没问题,这个报错是因为某个请求尝试访问/home/site/wwwroot/policy文件但找不到,下面是具体排查和解决步骤:

  • 确认文件是否存在
    登录Azure门户进入你的App Service,打开「高级工具」>「Kudu」,在「Debug console」里进入/home/site/wwwroot目录,查看是否有名为policy(无扩展名)的文件:

    • 若本地React项目的public目录里也没有这个文件:说明是代码或配置误引用了不存在的文件,下一步找请求来源。
    • 若本地有这个文件:检查部署流程(比如GitHub Actions、Azure DevOps Pipeline)是否遗漏了它。React构建后会把public目录文件复制到build文件夹,确认部署脚本是否将build文件夹的所有内容都上传到Azure。
  • 定位请求来源
    查看App Service详细日志,判断/policy请求是浏览器端还是服务器端发起的:

    • 浏览器端:打开浏览器开发者工具「网络」面板,过滤请求找/policy;全局搜索项目代码里的/policy字符串,检查public/index.html的meta标签、service worker代码、第三方依赖是否有相关引用。
    • 服务器端:排查Azure App Service的安全配置(比如强制CSP策略是否引用了本地policy文件),或者自定义的web.config/nginx配置里是否有错误路由规则指向policy文件。
  • 针对性解决

    • 若文件是多余的:找到引用它的地方删除即可,比如代码里的fetch('/policy')、index.html里的相关meta配置。
    • 若文件是必需的:将其放到React项目的public目录下,重新构建并部署;如果部署后仍不存在,检查.gitignore是否误加了policy,或CI/CD流程是否忽略了无扩展名文件。
    • 临时规避:暂时找不到请求来源的话,用Kudu在wwwroot目录手动创建空的policy文件,可直接消除报错,再慢慢排查根源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 12:42:35