.NET .NET Aspire Bun hosting
obejmuje:integrację hostingu nie Client integracji
Notatka
Ta integracja jest częścią .NET.NET Aspire Community Toolkit i nie jest oficjalnie obsługiwana przez zespół .NET.NET Aspire.
Bun to nowoczesna, szybka i uproszczona struktura do tworzenia aplikacji internetowych za pomocą języka TypeScript. Integracja hostingu bun .NET Aspire umożliwia hostowanie aplikacji bun w projekcie hosta aplikacji .NET Aspire i udostępnianie jej innym zasobom w aplikacji.
Integracja hostingu
Integracja hostingu Bun modeluje aplikację Bun jako typ Aspire.Hosting.ApplicationModel.BunAppResource
. Aby uzyskać dostęp do tego typu i interfejsów API, które umożliwiają dodanie go do projektu hosta aplikacji, zainstaluj pakiet NuGet 📦 CommunityToolkit.Aspire.Hosting.Bun. w projekcie hosta aplikacji.
Ta integracja oczekuje, że plik wykonywalny Bun został już zainstalowany na maszynie hosta i że jest dostępny w ścieżce systemowej.
dotnet add package CommunityToolkit.Aspire.Hosting.Bun
Aby uzyskać więcej informacji, zobacz dotnet add package lub Zarządzanie zależnościami pakietów w .NET aplikacjach.
Dodawanie zasobu bun
W projekcie hosta aplikacji wywołaj Aspire.Hosting.BunAppExtensions.AddBunApp
na instancji builder
, aby dodać zasób aplikacji Bun, jak pokazano w poniższym przykładzie:
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...
Domyślnie katalog roboczy aplikacji będzie folderem sąsiadującym z hostem aplikacji i będzie miał nazwę odpowiadającą nazwie podanej w zasobie, a wejściowym plikiem będzie :::no-loc text="index.ts"::. Oba te parametry można dostosować, przekazując dodatkowe parametry do metody AddBunApp
.
var api = builder.AddBunApp("api", "../api-service", "start")
.WithHttpEndpoint(env: "PORT");
Aplikację Bun można dodać jako odwołanie do innych zasobów w projekcie hosta aplikacji.
Zapewnianie, że pakiety są zainstalowane
Aby upewnić się, że aplikacja Bun ma wszystkie zależności zainstalowane zgodnie z definicją w pliku lockfile, możesz użyć metody Aspire.Hosting.BunAppExtensions.WithBunPackageInstaller
, aby upewnić się, że instalacja pakietu zostanie uruchomiona przed uruchomieniem aplikacji.
var api = builder.AddBunApp("api")
.WithHttpEndpoint(env: "PORT")
.WithBunPackageInstaller();