Dela via


.NET .NET Aspire Bun-värd

Omfattar:Värdintegrering inte Client integration

Not

Den här integreringen är en del av .NET.NET Aspire Community Toolkit och stöds inte officiellt av .NET.NET Aspire-teamet.

Bun är ett modernt, snabbt och enkelt ramverk för att skapa webbprogram med TypeScript. Med .NET Aspire Bun-värdintegrering kan du vara värd för Bun-applikationer i ditt .NET Aspire appvärdprojekt och tillhandahålla dem till andra resurser i din applikation.

Värdtjänstintegration

Integreringen av Bun som värd modellerar en Bun-applikation som typ Aspire.Hosting.ApplicationModel.BunAppResource. Om du vill komma åt den här typen och API:er som gör att du kan lägga till den i appvärdprojektet installerar du 📦 CommunityToolkit.Aspire. Hosting.Bun NuGet-paket i appvärdprojektet.

Den här integreringen förväntar sig att den körbara Bun-filen redan har installerats på värddatorn och att den är tillgänglig i systemsökvägen.

dotnet add package CommunityToolkit.Aspire.Hosting.Bun

Mer information finns i dotnet add package eller Hantera paketberoenden i .NET-applikationer.

Lägga till en Bun-resurs

I appvärdprojektet anropar du Aspire.Hosting.BunAppExtensions.AddBunAppbuilder-instansen för att lägga till en Bun-programresurs enligt följande exempel:

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...

Som standardinställning är programkatalogens arbetsmapp en syskonmapp till appvärden med det namn som anges för resursen, och startfilen kommer att vara :::no-loc text="index.ts"::. Båda dessa kan anpassas genom att skicka ytterligare parametrar till metoden AddBunApp.

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

Bun-programmet kan läggas till som en referens till andra resurser i appvärdprojektet.

Säkerställ att paket är installerade

För att säkerställa att Bun-programmet har alla beroenden installerade enligt definitionen i låsfilen kan du använda metoden Aspire.Hosting.BunAppExtensions.WithBunPackageInstaller för att säkerställa att paketinstallationen körs innan programmet startas.

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

Se även