Deploy: DocfyUiModule vs standalone
APIを公開しているのと同じNestJSアプリから配信するか、任意の静的ホスト上の静的バンドルとして配信します。
インストール
bash
npm install docfy-uiこのパッケージにはビルド済みの静的バンドル(dist/)が同梱されています。Nodeバックエンドにインストールするサーバーサイドコードはありません。nestjs-docfyを使っている場合は、DocfyUiModule.setup()がすでにこれをラップしています。そうでない場合は、任意の静的ファイルサーバーでdist/フォルダを配信してください。
DocfyUiModule.setup()経由
バックエンドがNestJSの場合、最もシンプルな設定はnestjs-docfyにこのパッケージをマウントさせることです。
ts
import { NestFactory } from "@nestjs/core";
import { SwaggerModule, DocumentBuilder } from "@nestjs/swagger";
import { DocfyUiModule } from "nestjs-docfy";
const app = await NestFactory.create(AppModule);
DocfyUiModule.setup("/docs", app); // before SwaggerModule.setup
const document = SwaggerModule.createDocument(app, new DocumentBuilder().build());
SwaggerModule.setup("api", app, document); // exposes /api-json, which docfy-ui fetches by default
await app.listen(3000);/docsにアクセスしてください。追加の設定は不要です。
スタンドアロン(静的)
nestjs-docfyを使わない場合は、静的アセットを自分でビルド・配信し、任意のOpenAPIドキュメントを指定してください。
bash
npm run build # in this package, or use the prebuilt dist/ from npm任意の静的ホスト(NestJSのServeStaticModule、Nginx、S3 + CloudFrontなど)でdist/を、スペックを公開するAPIと並べて、またはその手前で配信してください。
リモートのスペックを指定する
スペックが別のオリジンにある場合は、?spec=<url>による上書きを使ってください(Configurationを参照)。