你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

配置 Azure Static Web Apps CLI

重要

为了提高通过 Static Web Apps CLI 进行部署的安全性,我们引入了一项中断性变更,要求在 2025 年 1 月 15 日前升级到 Static Web Apps CLI 的最新版本 (2.0.2)。

Azure Static Web Apps (SWA) CLI 通过以下两种方式之一获取静态 Web 应用的配置信息:

  • CLI 选项(在运行时传入)
  • 名为 swa-cli.config.json 的 CLI 配置文件

注意

默认情况下,SWA CLI 会在当前目录中查找名为 swa-cli.config.json 的配置文件。

该配置文件可以包含多个配置,每个配置都由唯一的配置名称标识。

  • 如果 swa-cli.config.json 文件中仅存在一个配置,则 swa start 会默认使用它。

  • 如果从配置文件加载了选项,则会忽略命令行选项。

示例配置文件

以下代码片段显示了配置文件的结构。

{
  "configurations": {
    "app": {
      "appDevserverUrl": "http://localhost:3000",
      "apiLocation": "api",
      "run": "npm run start",
      "swaConfigLocation": "./my-app-source"
    }
  }
}

如果只有一个配置节,如此示例所示,则 swa start 命令会自动使用这些值。

初始化配置文件

可以使用 swa init 命令初始化配置文件。 如果针对现有项目运行命令,则 swa init 会尝试为你猜测配置设置。

默认情况下,该过程会在你的项目的当前工作目录中的 swa-cli.config.json 中创建这些设置。 此目录是搜索项目配置值时由 swa 使用的默认文件名和位置。

swa --config <PATH>

如果该文件仅包含一个命名配置,则默认使用该配置。 如果定义了多个配置,则需将所需的配置名称作为选项传入。

swa --<CONFIG_NAME>

使用配置文件选项时,设置以 JSON 格式存储。 创建后,可以手动编辑文件以更新设置或使用 swa init 更新。

查看配置

Static Webs CLI 提供了一个 --print-config 选项,以便你可以查看当前配置。

下面是使用默认设置在新项目上运行时该输出的示例。

swa --print-config

Options:
 - port: 4280
 - host: localhost
 - apiPort: 7071
 - appLocation: .
 - apiLocation: <undefined>
 - outputLocation: .
 - swaConfigLocation: <undefined>
 - ssl: false
 - sslCert: <undefined>
 - sslKey: <undefined>
 - appBuildCommand: <undefined>
 - apiBuildCommand: <undefined>
 - run: <undefined>
 - verbose: log
 - serverTimeout: 60
 - open: false
 - githubActionWorkflowLocation: <undefined>
 - env: preview
 - appName: <undefined>
 - dryRun: false
 - subscriptionId: <undefined>
 - resourceGroupName: <undefined>
 - tenantId: <undefined>
 - clientId: <undefined>
 - clientSecret: <undefined>
 - useKeychain: true
 - clearCredentials: false
 - config: swa-cli.config.json
 - printConfig: true

运行 swa --print-config 会提供当前配置默认值。

注意

如果项目尚未定义配置文件,则它会自动触发 swa init 工作流来帮助创建配置文件。

验证配置

可以根据以下架构验证 swa-cli.config.json 文件https://aka.ms/azure/static-web-apps-cli/schema