次の方法で共有


.NET .NET Aspire Bun ホスティング

含まれるもの:ホスティング統合 されません Client 統合

手記

この統合は .NET.NET Aspire Community Toolkit の一部であり、は .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 パッケージ の追加」または「.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 アプリケーションにロックファイルで定義されているすべての依存関係が確実にインストールされるようにするには、Aspire.Hosting.BunAppExtensions.WithBunPackageInstaller メソッドを使用して、アプリケーションを開始する前にパッケージのインストールが実行されるようにします。

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

関連項目