Estoy tratando de generar un cliente mecanografiado para mi servidor de descanso. Se espera que este cliente mecanografiado funcione tanto para el navegador como en el entorno Node.js (lado del servidor).
solía
openapi-generator-cli generate \ -i openapi-pets.yml \ -o output \ --generator-name typescript-fetch \ --additional-properties=typescriptThreePlus=truedespués de esto obtengo esto generado
── apis │ ├── PetsApi.ts │ └── index.ts ├── index.ts ├── models │ ├── ModelError.ts │ ├── Pet.ts │ └── index.ts └── runtime.tscuando corro
ts-node index.tsRecibo toneladas de errores como
error TS2304: Cannot find name 'Response'. En un intento de solucionar esto, agregué tsconfig.json en la raíz con este contenido
{ "compilerOptions": { "module": "commonjs", "sourceMap": true, "lib": [ "es2015", "dom" ] } }Todos los errores desaparecieron ahora. Intento usar la API (index.ts modificado con el siguiente contenido)
/* tslint:disable */ /* eslint-disable */ export * from './runtime'; export * from './apis'; export * from './models'; import { PetsApi, } from './apis'; import { Configuration, ConfigurationParameters, } from "./runtime"; const configParams: ConfigurationParameters = { basePath: 'https://petstore.swagger.io/v2/', middleware: [], }; const apiConfig = new Configuration(configParams); export const apiClient = { petsAPI: new PetsApi(apiConfig), }; export type ApiClient = typeof apiClient; apiClient.petsAPI.listPets().then(value => console.log(value));y trato de ejecutarlo
ts-node index.tsy resultados en
ReferenceError: fetch is not defined ¿Cómo puedo hacer de este proyecto un proyecto de "Nodo" y definir la dependencia de fetch ?