Deploy: DocfyUiModule vs standalone

Servilo dalla stessa app NestJS che espone l'API, oppure come bundle statico su qualunque host statico.

Installazione

bash
npm install docfy-ui

Questo pacchetto include un bundle statico pre-costruito (dist/): non c'è codice server-side da installare su un backend Node. Se usi nestjs-docfy, il suo DocfyUiModule.setup() lo avvolge già per te; altrimenti, servi la cartella dist/ con un qualsiasi server di file statici.

Tramite DocfyUiModule.setup()

La configurazione più semplice se il tuo backend è NestJS: lascia che nestjs-docfy monti questo pacchetto per te.

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

Visita /docs: non serve altra configurazione.

Standalone (statico)

Senza nestjs-docfy, costruisci e servi tu stesso gli asset statici e puntali verso un qualsiasi documento OpenAPI:

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

Servi dist/ con un qualsiasi host statico (ServeStaticModule di NestJS, Nginx, S3 + CloudFront, ecc.), accanto o davanti all'API che espone la spec.

Puntare a una spec remota

Se la spec vive su un'origine diversa, usa l'override ?spec=<url> (vedi Configurazione).