목록개발/TypeScript (8)
그저 내가 되었고

✔︎상황:: 회원가입 API 짜는 중.. postman에서 분명 json값으로 userId, password 등 잘 적어서 Request 보냈는데 아래와 같은 에러와 맞닥뜨림 ✔︎에러:: TypeError: Cannot destructure property 'userId' of 'req.body' as it is undefined ✔︎발생 원인:: req.body는 undefined가 디폴트임. 그래서 json으로 된 req.body를 받을 경우 parser를 따로 쓰거나 express 구축하면서 json을 받게 해줘서 req.body를 제대로 받도록 해줘야 함. ✔︎해결법:: body-parser 모듈 사용(4.16 이전 버전). express.json() 사용 2번이 훨씬 간단하므로.. 2번으로 ㄱ..

✔︎상황:: import cors from "cors"; 이렇게 모듈 가져오면서 아래 오류와 맞닥뜨림.. ✔︎에러:: This module is declared with using 'export =', and can only be used with a default import when using the 'esModuleInterop' flag. ✔︎발생 원인:: cors는 CommonJS 스펙의 require를 사용. 따라서, 위 코드와 같이 CommonJS 모듈을 ES6 모듈 코드베이스로 가져오려고 할 때 문제가 발생함. 이때 esModuleInterop 속성이 위의 코드 처럼 true로 설정될 경우, ES6 모듈 사양을 준수하여 CommonJS 모듈을 가져오게 함. 이렇게되면 아래와 같이 정상적으로..

TS? 아주 아주 간단히 말하자면 JS라는 언어에 에디터 부가 기능을 추가한 느낌이랄까. JS의 상위 호환 버젼이라고 보면 된다. TS의 가장 큰 특징은 JS를 기본으로 거기에 변수 만들때 타입 지정해줄 수 있다는 것이다. 또한 class, interface 등을 추가해서 자바나 C#과 같은 OOP 프로그래밍을 할 수 있다. TS로 작성한 코드는 최종적으로 JS로 컴파일되어 실행되는데, 타입을 지정해주는 TS의 특성상 JS와는 다르게 타입 에러 등의 에러들이 코드 실행 '전'에 잡힌다. 이런 장점으로 JS의 전체 에러 15%가량이 TS를 사용함으로써 해결될 수 있다고 한다. 서버 만들기(회원가입 및 로그인까지~!) 1. 초기 설정 npm i //Node.js 상에서 TypeScript Compiler를 ..