TypeError: Class constructor Model cannot be invoked without 'new'

1326 단어 errorlogerrorlog

요즘 타입스크립트를 사용해서 저번에 진행했던 프로젝트 리팩터링을 진행하고 있는데 프로젝트에 사용한 ORM이 sequelize였다. 그래서 sequelize에 타입스크립트를 적용해서 model폴더에 index.ts 부분을 타입스크립트로 수정하고 ORM이 db에 잘 접근을 하는지 확인하기 위해서 라우터를 하나만들어서 user 테이블에 모든 정보면 가져오는 쿼리문을 작성하고 api 테스트를 돌려봤느데

TypeError: Class constructor Model cannot be invoked without 'new'

이런 에러가 나왔다. 일단 문장을 살펴보니까 클래서 모델은 new키워드 없이 호출 할 수 없다?? 이렇게 해석했다. 그래서 이게 뭐지 하고 이것저것 만져보다가 에러에 대해서 검색을 해보니까 tsconfig.json에서 설정을 잘못해줘서 그런거라고 했다.

{
  "compilerOptions": {
     "lib": ["es2015", "es2016", "es2017", "es2018", "es2019", "es2020"],
    "moduleResolution": "node",
  }
}

원래 나의 코드는 위와 같이 작서을 해줬는데 여기에

{
  "compilerOptions": {
    "target": "es6",
     "lib": ["es2015", "es2016", "es2017", "es2018", "es2019", "es2020"],
    "moduleResolution": "node",
  }
}

target 항목에 es6를 추가해주면 되는 문제라고해서 금방 해결 할 수 있었다.

참고문서
https://stackoverflow.com/questions/59887617/sequelize-in-node-js-with-typescript-class-constructor-model-cannot-be-invoked

좋은 웹페이지 즐겨찾기