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

如何将AsciiDoc文档部署为Azure静态Web应用并设为根目录?

问题分析

你的配置错误在于swa.cli.config.json的参数设置和swa deploy命令的使用逻辑。当前SWA把整个项目根目录都部署了,而非仅将build/docs作为静态内容的根目录,因此才需要通过/build/docs/index.html才能访问目标页面。

解决方案

方法1:修正CLI配置文件

修改swa.cli.config.json,将appLocation设为项目根目录下的build/docs(使用相对路径,去掉开头斜杠),由于该目录已是生成好的静态文件目录,无需额外构建,outputLocation留空即可:

{
  "$schema": "https://aka.ms/azure/static-web-apps-cli/schema",
  "default": {
    "configurations": {
      "my-first-app": {
        "appLocation": "build/docs",
        "outputLocation": ""
      }
    }
  }
}

执行部署命令时直接指向项目根目录:

swa deploy .\my-first-app-root-folder\ --deployment-token **** --verbose=silly

方法2:直接在deploy命令中指定参数(更直观)

无需修改配置文件,直接在命令里指定--app-location为build/docs,明确告诉SWA仅部署该目录下的内容:

swa deploy .\my-first-app-root-folder\ --app-location build/docs --deployment-token **** --verbose=silly

流水线中AzureStaticWebApp@0任务的配置

后续在Azure DevOps流水线部署时,需在任务的app_location参数中指定build/docs,示例配置如下:

- task: AzureStaticWebApp@0
  inputs:
    app_location: 'build/docs'
    api_location: '' # 无API后端则留空
    output_location: '' # 无需额外构建输出,留空
    azure_static_web_apps_api_token: $(deployment_token)

验证

部署完成后,访问http://randomURL会直接加载build/docs/index.html,子页面可通过http://randomURL/subfolder/pageInfo1.html访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 03:10:15