【问题标题】:Nest JS Cannot read property of undefinedNest JS无法读取未定义的属性
【发布时间】:2020-06-04 06:54:25
【问题描述】:

我的应用程序运行良好,但在尝试使用 swagger 获取文档后它停止了,我认为这可能是一个依赖问题,但在任何地方都找不到。

我不断收到错误

10:10:22 PM - 开始在监视模式下编译...

错误无法读取未定义的属性“getSymbol”

我不知道getSymbol在哪里使用,错误似乎没有多大帮助。希望有人可以帮我解决这个问题。完整的应用程序代码可以在以下位置找到:

https://github.com/JSLearningCode/enderecosAlunosAPI

欢迎任何帮助。

编辑: 在开发模式下运行我得到了这个输出:

/home/william/Documentos/lemobs/enderecosAlunosAPI/node_modules/typescript/lib/typescript.js:95877 扔 e; ^

TypeError:无法读取未定义的属性“getSymbol” 在 Object.isArray (/home/william/Documentos/lemobs/enderecosAlunosAPI/node_modules/@nestjs/swagger/dist/plugin/utils/ast-utils.js:6:25) 在 getTypeReferenceAsString (/home/william/Documentos/lemobs/enderecosAlunosAPI/node_modules/@nestjs/swagger/dist/plugin/utils/plugin-utils.js:12:21) 在 Object.getTypeReferenceAsString (/home/william/Documentos/lemobs/enderecosAlunosAPI/node_modules/@nestjs/swagger/dist/plugin/utils/plugin-utils.js:31:29) 在 ControllerClassVisitor.createTypePropertyAssignment (/home/william/Documentos/lemobs/enderecosAlunosAPI/node_modules/@nestjs/swagger/dist/plugin/visitors/controller-class.visitor.js:51:44) 在 ControllerClassVisitor.createDecoratorObjectLiteralExpr (/home/william/Documentos/lemobs/enderecosAlunosAPI/node_modules/@nestjs/swagger/dist/plugin/visitors/controller-class.visitor.js:38:18) 在 ControllerClassVisitor.addDecoratorToNode (/home/william/Documentos/lemobs/enderecosAlunosAPI/node_modules/@nestjs/swagger/dist/plugin/visitors/controller-class.visitor.js:29:22) 在 visitNode (/home/william/Documentos/lemobs/enderecosAlunosAPI/node_modules/@nestjs/swagger/dist/plugin/visitors/controller-class.visitor.js:16:29) 在访问节点(/home/william/Documentos/lemobs/enderecosAlunosAPI/node_modules/typescript/lib/typescript.js:70998:48) 在 Object.visitEachChild (/home/william/Documentos/lemobs/enderecosAlunosAPI/node_modules/typescript/lib/typescript.js:71266:355) 在 visitNode (/home/william/Documentos/lemobs/enderecosAlunosAPI/node_modules/@nestjs/swagger/dist/plugin/visitors/controller-class.visitor.js:18:23) error 命令失败,退出代码为 1。

【问题讨论】:

    标签: javascript typescript api swagger undefined


    【解决方案1】:

    应用程序中存在与路由相关的问题。我在控制器中有一个解析器,用于在路由“aluno”与第一个参数之间引导正确的路由。 一旦我采取了没有参数的路线并将其放在控制器的第一位,就不再需要解析器,问题就消失了。如果遇到同样的问题,希望这个答案可以帮助更多的人。

    【讨论】:

      【解决方案2】:

      请检查您的控制器的方法结果类型

      改变这个:

      @Contoller()
      export class MyController {
      
      // ...
        async myMethod() {
          return {}
        }
      }
      

      到:

      @Contoller()
      export class MyController {
      
      // ...
        async myMethod():Promise<any> {
          return {}
        }
      }
      

      【讨论】:

        猜你喜欢
        • 2023-01-16
        • 2016-01-12
        • 2021-04-29
        • 1970-01-01
        • 2018-04-06
        • 2021-07-12
        • 2016-08-06
        • 2017-07-01
        • 2019-11-15
        相关资源
        最近更新 更多