MODULE_NOT_FOUNDNestjs和Swagger

我正在尝试将 Swagger 添加到我的 Nestjs 应用程序中。当我试图编译它时,会抛出找不到模块的错误。我使用 Nestjs 文档中的相同代码。这是我的 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();

这是错误:

internal/modules/cjs/loader.js:883
  throw err;
  ^

Error: Cannot find module '@nestjs/core/router/route-path-factory'
Require stack:
- D:BKsolidityMVPAppblockchainback-end-student-wallet-v2node_modules@nestjsswaggerdistswagger-explorer.js
- D:BKsolidityMVPAppblockchainback-end-student-wallet-v2node_modules@nestjsswaggerdistswagger-scanner.js 
- D:BKsolidityMVPAppblockchainback-end-student-wallet-v2node_modules@nestjsswaggerdistswagger-module.js  
- D:BKsolidityMVPAppblockchainback-end-student-wallet-v2node_modules@nestjsswaggerdistindex.js
- D:BKsolidityMVPAppblockchainback-end-student-wallet-v2node_modules@nestjsswaggerindex.js
- D:BKsolidityMVPAppblockchainback-end-student-wallet-v2distmain.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)

我正在使用 Node 14.15.1,@nestjs/swagger 5.0.0,swagger-ui-express:4.1.6

回答

更新最新版本的@nestjs/platform-express、@nestjs/common、@nestjs/core (8.0.0) 解决了我的问题。似乎 nestjs/cli 使用了以前版本的 nestjs


回答

Swagger v5 与 Nest v8 兼容(@nestjs/core@^8.0.0、@nestjs/common@^8.0.0 等) Swagger v4 与 Nest v7 兼容

来自https://github.com/nestjs/nest/issues/7499


以上是MODULE_NOT_FOUNDNestjs和Swagger的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>