.NET Aspire Azure Static Web Apps 模拟器集成

包括:托管集成,但不包括 、Client 集成

注意

此集成是 .NET.NET Aspire 社区工具包 的一部分, 不受 .NET.NET Aspire 团队正式支持。

本文介绍如何使用 .NET.NET AspireAzure 静态 Web 应用模拟器 托管集成,以使用模拟器在本地运行 Azure 静态 Web 应用。 模拟器支持使用应用主机中定义的资源代理静态前端和 API 后端。

此集成要求 Azure 静态 Web 应用 CLI 运行,并且仅支持托管模拟器进行本地开发,而不部署到 Azure 静态 Web 应用。

托管集成

若要开始使用 .NET AspireAzure 静态 Web 应用模拟器托管集成,请在 AppHost 项目中安装 📦 CommunityToolkitAspireHostingAzureStaticWebApps NuGet 包。

dotnet add package CommunityToolkit.Aspire.Hosting.Azure.StaticWebApps

有关详细信息,请参阅 dotnet add package在 .NET 应用程序中管理包依赖项

示例用法

在应用主机项目的 Program.cs 文件中,定义后端和前端资源。 然后,调用 AddSwaEmulator 方法来创建模拟器,并使用 WithAppResourceWithApiResource 方法传递资源。

var builder = DistributedApplication.CreateBuilder(args);

// Define the API resource
var api = builder.AddProject<Projects.Aspire_CommunityToolkit_StaticWebApps_ApiApp>("api");

// Define the frontend resource
var web = builder
    .AddNpmApp("web", Path.Combine("..", "CommunityToolkit.Aspire.StaticWebApps.WebApp"), "dev")
    .WithHttpEndpoint(env: "PORT")
    .WithExternalHttpEndpoints();

// Create a SWA emulator with the frontend and API resources
_ = builder
    .AddSwaEmulator("swa")
    .WithAppResource(web)
    .WithApiResource(api);

builder.Build().Run();

前面的代码定义 API 和前端资源,并使用资源创建模拟器。 然后,使用 Run 方法启动模拟器。

另请参阅