Deploy: DocfyUiModule vs standalone

Serwuj go z tej samej aplikacji NestJS, która udostępnia API, albo jako statyczny bundle na dowolnym hoście statycznym.

Instalacja

bash
npm install docfy-ui

Ten pakiet dostarcza wcześniej zbudowany bundle statyczny (dist/): nie ma żadnego kodu serwerowego do zainstalowania na backendzie Node. Jeśli używasz nestjs-docfy, jego DocfyUiModule.setup() już to za Ciebie owija; w przeciwnym razie serwuj folder dist/ dowolnym serwerem plików statycznych.

Przez DocfyUiModule.setup()

Najprostsza konfiguracja, jeśli Twój backend to NestJS: pozwól, by nestjs-docfy zamontowało ten pakiet za Ciebie.

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);

Odwiedź /docs: żadna dodatkowa konfiguracja nie jest potrzebna.

Samodzielnie (statycznie)

Bez nestjs-docfy, zbuduj i serwuj zasoby statyczne samodzielnie i wskaż je na dowolny dokument OpenAPI:

bash
npm run build   # in this package, or use the prebuilt dist/ from npm

Serwuj dist/ dowolnym hostem statycznym (ServeStaticModule NestJS, Nginx, S3 + CloudFront itd.), obok albo przed API, które udostępnia specyfikację.

Wskazywanie na zdalną specyfikację

Jeśli specyfikacja mieszka pod innym origin, użyj nadpisania ?spec=<url> (zobacz Configuration).