cra 오류 해결!

Written by on
cra 오류 해결!

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의 차이?

difference between Type and Interface

백오피스를 진행하면서 Typescript를 처음 사용해봤다.

가장 처음 어려움을 겪었던 부분은 Type과 Interface가 뭐가 다른지, 어떻게 사용해야 하는지가 문제였다.

아직도 명확히 구분이 가지는 않지만,

Interface와 Type의 차이

  • 타입에 새로운 이름을 붙이는 수단이라는 공통점
  • 타입을 이용해서 기본타입, 배열과 튜플, 유니온 타입등에 새로운 이름 붙이기 가능 (인터페이스는 불가능)
  • 타입은 실제로 새 타입을 생성하지는 않는다, 관련 에러가 발생 했다면 지정한 타입을 보여주는 것이 아닌 실제 타입을 보여준다. 인터페이스는 실제로 새 타입을 생성하고 관련 타입 에러에는 인터페이스가 문제가 있다고 알려준다.
  • 인터페이스는 extends 키워드로 확장 가능, type은 불가능

이런 이유로 공식문서에서는 인터페이스 사용을 권장한다고 한다.

출처 : https://velog.io/@ansrjsdn/TypeScript-interface-와-type-aliases

Rating:

Comments

comments powered by Disqus