Swagger 3.0.1 服务器生成器
Swagger 3.0.1 server generator
当我在在线工具https://editor.swagger.io/中使用swagger 3.0.1生成nodejs-server并尝试npm start
项目时,我总是得到以下错误:
错误:找不到模块'./middleware/swagger.router'
短期修复:在 oas3-tools 和 Smartbear(对于此服务器生成器)的维护者修复它们各自的部分之前,您可以将其修复到 运行。
问题 A:oas3-tools 构建脚本没有将 'middleware' 复制到 'dist' 目录。
解决这个问题:
- 启动生成的服务器(这将 运行 npm 安装并在
node_modules/oas3-tools
中创建 dist
文件夹)
- 进入
./node_modules/oas3-tools
并手动将丢失的 src/middleware
复制到 dist
文件夹。
- 既然您的
dist
文件夹中有一个 middleware
文件夹,运行 针对它的以下打字稿编译命令:tsc dist/middleware/
问题 B:
下一个问题是 swagger 文档路径的错别字不正确。
解决这个问题:
- 在您生成的服务器的 index.js 文件中,将字符串 'api/openapi.yaml' 更改为 'api/swagger.yaml'
可能的额外问题:
您可能需要手动转译 .ts 文件。如果您也 运行(即 error TS6053: File 'dist/middleware/.ts' not found. Found 1 error
)
,请参阅下面的 @Alex 评论
- 此处发布了 Swagger 编辑器错误:https://github.com/swagger-api/swagger-editor/issues/2086
- 此处发布的 Oas3-tools 错误:https://github.com/bug-hunters/oas3-tools/issues/17
最新版本的 oas3-tools 是 2.1.2 搞砸了。现在使用 2.0.2。
oas3-tools : "2.0.2"
当我在在线工具https://editor.swagger.io/中使用swagger 3.0.1生成nodejs-server并尝试npm start
项目时,我总是得到以下错误:
错误:找不到模块'./middleware/swagger.router'
短期修复:在 oas3-tools 和 Smartbear(对于此服务器生成器)的维护者修复它们各自的部分之前,您可以将其修复到 运行。
问题 A:oas3-tools 构建脚本没有将 'middleware' 复制到 'dist' 目录。
解决这个问题:
- 启动生成的服务器(这将 运行 npm 安装并在
node_modules/oas3-tools
中创建dist
文件夹) - 进入
./node_modules/oas3-tools
并手动将丢失的src/middleware
复制到dist
文件夹。 - 既然您的
dist
文件夹中有一个middleware
文件夹,运行 针对它的以下打字稿编译命令:tsc dist/middleware/
问题 B:
下一个问题是 swagger 文档路径的错别字不正确。
解决这个问题:
- 在您生成的服务器的 index.js 文件中,将字符串 'api/openapi.yaml' 更改为 'api/swagger.yaml'
可能的额外问题:
您可能需要手动转译 .ts 文件。如果您也 运行(即 error TS6053: File 'dist/middleware/.ts' not found. Found 1 error
)
- 此处发布了 Swagger 编辑器错误:https://github.com/swagger-api/swagger-editor/issues/2086
- 此处发布的 Oas3-tools 错误:https://github.com/bug-hunters/oas3-tools/issues/17
最新版本的 oas3-tools 是 2.1.2 搞砸了。现在使用 2.0.2。
oas3-tools : "2.0.2"