Поделиться через


.NET .NET Aspire хостинг булочек

Включает:Интеграция хостингаClient интеграция

Заметка

Эта интеграция является частью набора средств сообщества и официально не поддерживается командой .

Bun — это современная, быстрая и упрощенная платформа для создания веб-приложений с помощью TypeScript. Интеграция размещения .NET Aspire Bun позволяет размещать приложения Bun в проекте размещения приложений .NET Aspire и предоставлять их другим ресурсам в вашем приложении.

Интеграция хостинга

Интеграция Bun с хостингом моделирует приложение Bun как тип Aspire.Hosting.ApplicationModel.BunAppResource. Чтобы получить доступ к этому типу и API, которые позволяют добавить его в узловой проект приложения, установите пакет NuGet 📦 CommunityToolkit.Aspire.Hosting.Bun в узловом проекте приложения.

Эта интеграция ожидает, что исполняемый файл Bun уже установлен на хост-компьютере и что он доступен в системном пути.

dotnet add package CommunityToolkit.Aspire.Hosting.Bun

Дополнительные сведения см. в статье dotnet add package или Управление зависимостями пакетов в приложениях .NET.

Добавьте ресурс Bun

В вашем хост-проекте приложения вызовите метод 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...

По умолчанию рабочий каталог приложения будет располагаться на одном уровне с папкой узла приложения, имеющей то же имя, что и ресурс, и точкой входа будет :::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();

См. также