typescript - MODULE_NOT_FOUND Nestjs och Swagger
Jag försöker lägga till Swagger i min Nestjs-app. Ett fel om modul som inte hittas kastas när jag försöker kompilera den. Jag använder samma kod som från Nestjs-dokumentationen. Detta är min main.ts:
async function bootstrap() {
const app = await NestFactory.create(AppModule);
const config = new DocumentBuilder()
.setTitle('Cats example')
.setDescription('The cats API description')
.setVersion('1.0')
.addTag('cats')
.build();
const document = SwaggerModule.createDocument(app, config);
SwaggerModule.setup('api', app, document);
await app.listen(3000);
}
bootstrap();
Det här är felet:
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module '@nestjs/core/router/route-path-factory'
Require stack:
- D:\BK\solidity\MVPApp\blockchain\back-end-student-wallet-v2\node_modules\@nestjs\swagger\dist\swagger-explorer.js
- D:\BK\solidity\MVPApp\blockchain\back-end-student-wallet-v2\node_modules\@nestjs\swagger\dist\swagger-scanner.js
- D:\BK\solidity\MVPApp\blockchain\back-end-student-wallet-v2\node_modules\@nestjs\swagger\dist\swagger-module.js
- D:\BK\solidity\MVPApp\blockchain\back-end-student-wallet-v2\node_modules\@nestjs\swagger\dist\index.js
- D:\BK\solidity\MVPApp\blockchain\back-end-student-wallet-v2\node_modules\@nestjs\swagger\index.js
- D:\BK\solidity\MVPApp\blockchain\back-end-student-wallet-v2\dist\main.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
Jag använder Node 14.15.1, @nestjs/swagger 5.0.0, swagger-ui-express: 4.1.6
Svar #1
Uppdatera senaste versionen av @nestjs/platform-express, @nestjs/common,@nestjs/core (8.0.0) löser mitt problem. Det verkar som att nestjs/cli använder en tidigare version av nestjs
Svar #2
Swagger v5 är kompatibel med Nest v8 (@nestjs/core@^8.0.0, @nestjs/common@^8.0.0 osv) Swagger v4 är kompatibel med Nest v7
Källa från https://github.com/nestjs/nest/issues/7499