인프런 커뮤니티 질문&답변
Sequelize에 요청을 보내면 오류가 뜹니다
작성
·
765
0
수업 보면서 포트폴리오를 작성하고 있습니다...
Sequelize를 통해서 DB에 POST요청을 보내면
TypeError: Class constructor Model cannot be invoked without 'new'
라는 오류가 발생합니다.
Typescript의 버전이 ES6가 아닐 때 시퀼라이즈에서 이러한 오류가 발생한다고 해서 tsconfig에 'target' = 'ES6' 로 지정하니 그때부터 강의를 기반으로 만들어온 모듈 import가 전부 어긋나게 됩니다...
메인페이지의 import * as ... 구문은 어떻게든 수정하겠는데 현재 강의 방식이 아닌 Typescript DB작성 방식을 모르기 때문에 어디서부터 손을 대야 할지도 모르겠습니다
ES6모듈로 전환하지 않고 해당 오류를 해결할 방법이 있을까요? 아니면 ORM을 아예 바꿔야 할까요?
답변 1
0
제로초(조현영)
지식공유자
요즘은 시퀄라이즈 타입스크립트 코드를 다음과 같은 식으로 작성합니다.
https://github.com/ZeroCho/nodejs-book/tree/master/ch17/17.4/nodebird/models
Chang Su Lee
질문자
늦은 시간에 답변 감사합니다 ㅠ
일단 손대기 힘든 Sequelize와 모델을 지우고 나머지를 전부 ES6 import로 전환했습니다
보내주신 코드 따라서 다시 DB 설계해보고 정 모르겠으면 질문 하겠습니다
감사합니다





index
sequelize.ts
user.ts
입니다
[0] { email: '', password: '', confirmPassword: '', nickname: '' }
[0] Executing (default): SELECT
id,email,password,nickname,createdAt,updatedAtFROMuserASUserWHEREUser.`email` = '';[0] TypeError: Class constructor Model cannot be invoked without 'new'
[0] at new User (C:\workspace\Dev-Mark\server\models\user.js:24:42)
[0] at Function.build (C:\workspace\Dev-Mark\server\node_modules\sequelize\lib\model.js:2167:12)
[0] at Function.create (C:\workspace\Dev-Mark\server\node_modules\sequelize\lib\model.js:2220:17)
[0] at C:\workspace\Dev-Mark\server\routes\auth.js:82:56
[0] at step (C:\workspace\Dev-Mark\server\routes\auth.js:44:23)
[0] at Object.next (C:\workspace\Dev-Mark\server\routes\auth.js:25:53)
[0] at fulfilled (C:\workspace\Dev-Mark\server\routes\auth.js:16:58)
[0] POST /auth 500 246.600 ms - 816
[0] TypeError: Class constructor Model cannot be invoked without 'new'
[0] at new User (C:\workspace\Dev-Mark\server\models\user.js:24:42)
[0] at Function.build (C:\workspace\Dev-Mark\server\node_modules\sequelize\lib\model.js:2167:12)
[0] at Function.create (C:\workspace\Dev-Mark\server\node_modules\sequelize\lib\model.js:2220:17)
[0] at C:\workspace\Dev-Mark\server\routes\auth.js:82:56
[0] at step (C:\workspace\Dev-Mark\server\routes\auth.js:44:23)
[0] at Object.next (C:\workspace\Dev-Mark\server\routes\auth.js:25:53)
[0] at fulfilled (C:\workspace\Dev-Mark\server\routes\auth.js:16:58)