共用方式為


.NET .NET Aspire Bun 托管

包含:主機託管整合Client 整合

注意

這項整合是 .NET.NET Aspire 社群工具組 的一部分, 不受 .NET.NET Aspire 小組正式支援。

Bun 是一種現代化、快速且輕量型的架構,可用於使用 TypeScript 建置 Web 應用程式。 .NET Aspire Bun 裝載整合可讓您在 .NET Aspire 應用程式主項目中裝載 Bun 應用程式,並將它提供給應用程式中的其他資源。

主機整合

Bun 託管整合會將 Bun 應用程式模型化作為 Aspire.Hosting.ApplicationModel.BunAppResource 類型。 若要存取此類型和 API 並將其新增至應用程式主機專案,請在應用程式主機專案中安裝 📦 CommunityToolkit.Aspire.Hosting.Bun NuGet 套件。

此整合預期 Bun 可執行檔已安裝在主電腦上,而且可在系統路徑中使用。

dotnet add package CommunityToolkit.Aspire.Hosting.Bun

如需詳細資訊,請參閱 dotnet add package在 .NET 應用程式中管理套件相依性

新增 Bun 資源

在應用程式主機專案中,在 builder 實例上呼叫 Aspire.Hosting.BunAppExtensions.AddBunApp,以新增 Bun 應用程式資源,如以下範例所示:

var builder = DistributedApplication.CreateBuilder(args);

var api = builder.AddBunApp("api")
                 .WithHttpEndpoint(env: "PORT");

var exampleProject = builder.AddProject<Projects.ExampleProject>()
                            .WithReference(api);

// After adding all resources, run the app...

根據預設,應用程式的工作目錄將是與應用程式主機同層級並且名稱符合提供給資源名稱的資料夾,而進入點將會是 :::no-loc text="index.ts"::。 這兩者都可以透過傳遞其他參數給 AddBunApp 方法來進行自定義。

var api = builder.AddBunApp("api", "../api-service", "start")
    .WithHttpEndpoint(env: "PORT");

Bun 應用程式可以新增為應用程式主專案中其他資源的參考。

確保已安裝套件

若要確保 Bun 應用程式已安裝如 lockfile 中所定義的所有相依性,您可以使用 Aspire.Hosting.BunAppExtensions.WithBunPackageInstaller 方法來確保應用程式啟動之前會執行套件安裝。

var api = builder.AddBunApp("api")
                 .WithHttpEndpoint(env: "PORT")
                 .WithBunPackageInstaller();

另請參閱