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

启动 Static Web Apps CLI 模拟器

重要

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

Static Web Apps 是一个基于云的平台,用于托管和运行 Web 应用。 在本地运行应用时,需要借助特殊工具来大致预估应用在云中的运行方式。

Static Web Apps CLI (SWA CLI) 包含用于模拟应用在 Azure 上的运行方式的模拟器,但实际上仅在计算机上运行应用。

swa start 命令将使用默认设置启动模拟器。 默认情况下,模拟器将使用端口 4280

有关各个命令的详细信息,请参阅 CLI 参考

从文件系统提供静态文件

SWA CLI 允许你直接从文件系统提供静态内容,而不必使用其他工具。 你可以从当前目录或特定文件夹提供静态内容。

提供位置 命令 备注
当前文件夹 swa start 默认情况下,CLI 从当前工作目录启动并提供静态内容(HTML、图像、脚本和 CSS 文件)。
特定文件夹 swa start ./my-dist 你可以重写相应行为,以使用另一个静态资产文件夹启动模拟器。

使用开发服务器

开发应用的前端时,可能需要使用框架的默认开发服务器。 使用框架的服务器,可以利用实时重载和热模块更换 (HMR) 等优势。

例如,Angular 开发人员通常使用 ng servenpm start 来运行开发服务器。

你可以将 Static Web Apps (SWA) CLI 设置为将请求代理到开发服务器,这样可以在同步使用 Static Web Apps CLI 的同时,利用框架的 CLI 的优势。

使用框架的开发服务器和 SWA CLI 需要两个步骤:

  1. 像往常一样启动框架的本地开发服务器。 请务必记下框架使用的 URL(包括端口)。

  2. 在新终端中启动 SWA CLI,传入开发服务器 URL。

    swa start <DEV_SERVER_URL>
    

注意

请务必将占位符 <DEV_SERVER_URL> 替换为你自己的值。

启动开发服务器

你可以通过让 SWA CLI 为你启动开发服务器来进一步简化工作流。

你可以将自定义命令传递给 swa start 命令的 --run 参数。

swa start <DEV_SERVER_URL> --run <DEV_SERVER_LAUNCH_COMMAND>

下面是使用几个不同框架启动模拟器的一些示例:

框架 命令
React swa start http://localhost:3000 --run "npm start"
Blazor swa start http://localhost:5000 --run "dotnet watch run"
Jekyll swa start http://localhost:4000 --run "jekyll serve"

如果要在启动开发服务器时运行自定义脚本,还可以使用 --run 参数。

swa start http://localhost:4200 --run "./startup.sh"

借助上述命令,你可以使用来自 http://localhost:4280 的模拟服务访问应用程序

后续步骤