.NET .NET Aspire Bun 托管
注意
此集成是 .NET.NET Aspire 社区工具包 的一部分, 不受 .NET.NET Aspire 团队正式支持。
Bun 是一种现代、快速、轻型的框架,用于使用 TypeScript 生成 Web 应用程序。 使用 .NET Aspire Bun 托管集成,可以在 .NET Aspire 应用主机项目中托管 Bun 应用程序,并将其提供给应用程序中的其他资源。
托管集成
Bun 托管集成将 Bun 应用程序建模为 Aspire.Hosting.ApplicationModel.BunAppResource
类型。 若要访问此类型和 API,以便将其添加到应用主机项目,请在应用主机项目中安装 📦 CommunityToolkitAspire.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();