다음을 통해 공유


.NET .NET Aspire Bun 호스팅

포함:호스팅 통합아님Client

메모

이 통합은 .NET.NET Aspire 커뮤니티 도구 키트 일부이며 .NET.NET Aspire 팀에서 공식적으로 지원하지 않습니다.

Bun TypeScript를 사용하여 웹 애플리케이션을 빌드하기 위한 최신의 빠르고 간단한 프레임워크입니다. .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();

참고 사항