MODULE_NOT_FOUND Nestjs 和 Swagger

Posted

技术标签:

【中文标题】MODULE_NOT_FOUND Nestjs 和 Swagger【英文标题】:MODULE_NOT_FOUND Nestjs and Swagger 【发布时间】:2021-09-20 20:28:45 【问题描述】:

我正在尝试将 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:\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)

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

【问题讨论】:

更新最新版本的@nestjs/platform-express, @nestjs/common,@nestjs/core 解决我的问题 发表您的评论作为答案和accept it,这样您的问题就会显示为已解决。 【参考方案1】:

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

【讨论】:

【参考方案2】:

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_FOUND Nestjs 和 Swagger的主要内容,如果未能解决你的问题,请参考以下文章

错误:找不到模块,代码:'MODULE_NOT_FOUND',requireStack:[]

React js代码:'MODULE_NOT_FOUND',无法运行reactjs?

节点 MODULE_NOT_FOUND

更新到 nextjs 11 后的 Micro MODULE_NOT_FOUND

在 nest.js 代码库上找不到模块 (MODULE_NOT_FOUND)

MODULE_NOT_FOUND 尝试在 Node JS / TypeScript 项目中的模块之间按目录共享代码