在类型脚本编译前后使用`swagger-ui-express`和`swagger-jsdoc`

wwtsj6pe  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(107)

好吧,基本上我试图使标题中的两个包在我的项目中工作,该项目使用typescript,其路径Map和esbuild进行编译。不幸的是,这种狂妄自大的做法不适用于编译后的代码...要进行转译,我使用rimraf dist && esbuild ./src/index.ts --target=es2016 --bundle --platform=node --outdir=dist并运行node dist/index.js。swagger页面根本没有出现。
代码片段:https://gist.github.com/joaocasarin/167ad9a5feeb564c19e2c92e03619dd7src/app.ts:第1个文件
@docs/v1.ts:第二个文件
正如你在第二个文件中看到的,我正在设置swagger-jsdoc以使用apis: ['**/routes/**/*.ts', '**/routes/**/*.js']读取ts和js文件,但我知道这是错误的,我只是不知道如何纠正它。
@routes/user.ts:第3个文件
当我使用tsx watch --tsconfig ./tsconfig.build.json ./src/index.ts运行服务器时,它很好,我可以使用swagger页面或我拥有的端点。当我把它转成JavaScript时,swagger页面不再工作了(也许是因为它找不到jsdoc设置?)
您可以在图片中看到访问/docs时的错误,这些错误位于gist x1c 0d1x的第4个文件中
如何让它工作?

uoifb46i

uoifb46i1#

我在esbuild中添加--external:swagger-ui-express选项时解决了同样的问题。

相关问题