次の方法で共有


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

含まれるもの:ホスティング統合に含まれる ホスティング統合のみ — Client 統合は含まれませんClient 統合は含まれません

手記

この統合は .NET.NET Aspire Community Toolkit の一部であり、 されていません。

Bun は、TypeScript を使用して Web アプリケーションを構築するための、モダンで高速で軽量なフレームワークです。 .NET Aspire Bun ホスティング統合を使用すると、.NET Aspire AppHost プロジェクトで Bun アプリケーションをホストし、アプリケーション内の他のリソースに提供できます。

ホスティング統合

Bun ホスティング統合は、Bun アプリケーションを Aspire.Hosting.ApplicationModel.BunAppResource 型としてモデル化します。 AppHost プロジェクトに追加できるこの種類と API にアクセスするには、AppHost プロジェクトで 📦 CommunityToolkit.Hosting.Bun NuGet パッケージをインストールします。

この統合では、Bun 実行可能ファイルがホスト コンピューターに既にインストールされていること、およびシステム パスで使用可能であることを想定しています。

dotnet add package CommunityToolkit.Aspire.Hosting.Bun

詳細については、「dotnet パッケージ の追加」または「.NET アプリケーションでのパッケージの依存関係の管理」を参照してください。

Bun リソースを追加する

AppHost プロジェクトで、次の例に示すように、Aspire.Hosting.BunAppExtensions.AddBunApp インスタンスのbuilderを呼び出して 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...

既定では、アプリケーションの作業ディレクトリは、リソースに指定された名前と一致する AppHost の兄弟フォルダーになり、エントリ ポイントは :::no-loc text="index.ts":: になります。 これらの両方をカスタマイズするには、AddBunApp メソッドに追加のパラメーターを渡します。

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

Bun アプリケーションは、AppHost プロジェクト内の他のリソースへの参照として追加できます。

パッケージがインストールされていることを確認する

Bun アプリケーションにロックファイルで定義されているすべての依存関係が確実にインストールされるようにするには、Aspire.Hosting.BunAppExtensions.WithBunPackageInstaller メソッドを使用して、アプリケーションを開始する前にパッケージのインストールが実行されるようにします。

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

関連項目