1

当我在在线工具https://editor.swagger.io/中使用 swagger 3.0.1 生成 nodejs-server并尝试npm start该项目时,我总是收到以下错误:

在此处输入图像描述

错误:找不到模块“./middleware/swagger.router”

4

2 回答 2

4

短期修复:您可以让它运行,直到 oas3-tools 和 Smartbear(用于此服务器生成器)的维护者修复它们各自的部分。

问题 A:oas3-tools 构建脚本没有将“中间件”复制到“dist”目录。

要解决这个问题:

  1. 启动您生成的服务器(这将运行 npm install 并dist在 中创建文件夹node_modules/oas3-tools
  2. 进入./node_modules/oas3-tools并手动将丢失src/middleware的内容复制到dist文件夹中。
  3. 现在您的middleware文件夹中有一个文件dist夹,对它运行以下 typescript compile 命令:tsc dist/middleware/

问题 B:

下一个问题是 swagger 文档路径上的拼写错误。

要解决这个问题:

  1. 在您生成的服务器的 index.js 文件中,将字符串 'api/openapi.yaml' 更改为 'api/swagger.yaml'

可能的额外问题:

您可能需要手动转译您的 .ts 文件。如果您也遇到此问题,请参阅下面的@Alex 评论(即error TS6053: File 'dist/middleware/.ts' not found. Found 1 error


于 2020-01-11T11:27:49.643 回答
0

oas3-tools 的最新版本是 2.1.2 搞砸了。现在使用 2.0.2。

oas3-tools : "2.0.2"
于 2020-10-28T05:27:57.937 回答