cra 오류 해결
- 항상 프로젝트를 시작할 때 npx create-react-app을 실행을 했는데, 실행할 때마다 어디선가 오류가 뜨고 생성한 파일들을 삭제하는 일이 계속 일어났다.
- 처음에야 무슨 오륜지 몰라서 처음부터 다시 진행했고, 이게 괜찮아진 줄 알았는데, 다른 프로젝트를 하려고 npx cra를 하면 결국 똑같은 에러였다.
- 오늘도 사이드 프로젝트를 시작하려고 npx cra를 실행했고, 결과도 똑같았다.
- 열심히 에러메시지를 찾아본 결과 노드 버전이 문제(10.14 이상의 조건)였고 nvm으로 문제를 해결했다.
- 기존 : node -v = 10.13
- 변경 : node -v = 12.14
- 기존에는 오류가 떠서 다시 할 때마다 node를 최신으로 만들어주는 부분을 나도 모르게 실행하고 있어서 cra가 오류 없이 잘 된 것 같았다.
- 우선은 노드 버전을 올려놨으니 다음 프로젝트 시작할 때를 잘 지켜 봐야겠다.
- 항상 JS버전으로만 cra를 실행하다가 TS로 초기부터 설정해주는 옵션이 있어서 이대로 실행했다. npx create-react-app 경로 —template typescript
Type과 Interface의 차이?
![]()
백오피스를 진행하면서 Typescript를 처음 사용해봤다.
가장 처음 어려움을 겪었던 부분은 Type과 Interface가 뭐가 다른지, 어떻게 사용해야 하는지가 문제였다.
아직도 명확히 구분이 가지는 않지만,
Interface와 Type의 차이
- 타입에 새로운 이름을 붙이는 수단이라는 공통점
- 타입을 이용해서 기본타입, 배열과 튜플, 유니온 타입등에 새로운 이름 붙이기 가능 (인터페이스는 불가능)
- 타입은 실제로 새 타입을 생성하지는 않는다, 관련 에러가 발생 했다면 지정한 타입을 보여주는 것이 아닌 실제 타입을 보여준다. 인터페이스는 실제로 새 타입을 생성하고 관련 타입 에러에는 인터페이스가 문제가 있다고 알려준다.
- 인터페이스는 extends 키워드로 확장 가능, type은 불가능
이런 이유로 공식문서에서는 인터페이스 사용을 권장한다고 한다.
출처 : https://velog.io/@ansrjsdn/TypeScript-interface-와-type-aliases
Comments