如何做微信网站建设/2020年可用好用的搜索引擎
文章目录
- 一、前言背景(错误描述)
- 二、问题排查
- 三、解决方案
- 1.改文件后缀名
- 2.手动改node_modules
一、前言背景(错误描述)
笔者开发eggjs项目的时候写完接口准备把api文档生成出来,于是就找到了egg-swagger-doc包。结果按照文档上一步一步操作完之后发现我的报错了???
别人都没问题就我有问题那一定是我跟别人哪里不一样导致的,那么我们待会就排查一下哪里不一样
我们可以看到错误是:
nodejs.TypeError: Cannot read properties of undefined (reading ‘prototype’)
at generateAPIFunc (/Users/paocai/Documents/projects/qiguaBackstageManagementSystemServer/node_modules/egg-swagger-doc/lib/document/index.js:190:22)
egg-swagger-doc的github上其实也有这个issue,一直是开放状态的:
二、问题排查
那我们就去这个文件里面对应的行debug一下:
从上图我们可以看到我们是命中了以ts为后缀的这个判断,然后最终的obj就是一个undefined。
三、解决方案
1.改文件后缀名
把ts改成js,然后写法改一下
按照egg-swagger-doc的demo进行改吧:https://github.com/Yanshijie-EL/egg-example-api/blob/master/app/controller/user.js
2.手动改node_modules
找到笔者截图中的文件地址,将对应的判断注释掉
node_modules/egg-swagger-doc/lib/document/index.js
注释掉之后发现又有了新的报错:
nodejs.TypeError: Cannot read properties of undefined (reading ‘prototype’)
at RouterRegister (/Users/paocai/Documents/projects/qiguaBackstageManagementSystemServer/node_modules/egg-swagger-doc/lib/router/index.js:60:22)
没关系,我们还是刚才的套路,继续注释代码:
node_modules/egg-swagger-doc/lib/router/index.js
然后我们就会发现ts的写法也可以生成出来了~