[Node.js] babel-node

Peter·2021년 9월 28일
0

Node

목록 보기
1/1
post-thumbnail

Node 와 ECMA 버전

  1. JavaScript 는 꾸준히 버전업을 하면서 기능이 추가되고 편의성이 증가하고 있다.

  2. 하지만 Node 패키지들은 과거 JavaScript버전으로 작성된 경우가 많고 언어의 업데이트를 실시간으로 반영하지 않는다.

  3. 결국 개발을 하면서 내가 사용할 프레임워크, 라이브러리가 작성된 버전을 생각하며 엮이지 않고 알아서 잘 깔끔하고 센스있게 JavaScript 기능들을 사용해줘야 한다.

과거로 만들지 못하는 현재?

  1. JavaScript가 버전을 올리면서 과거의 버전으로 표현하지 못하는 기능이 있는가?
  2. 대부분의 새로운 기능은 과거의 버전으로 충분히 구현 가능하다
  3. 이 부분에서 우리는 버전에서 자유로울 수 있는 기회가 생긴다

babel

  • 과거엔 require을 사용했지만 새로운 자바스크립트 버전이 릴리즈됨에 따라 import, from 으로 불러올 수 있다
  • 바벨은 새로운 기능은 import, from 을 과거버전인 require를 사용해 같은 기능을 구현(번역?)해준다

  • 실제 개발 상황에서 두줄은 사실상 같은 일을 한다
  • 하지만 사용하고 있는 상황에서 node프레임워크에서 Import를 지원하지 않을 수 있다 따라서 위 줄은 에러가 발생한다

해결방법

  • package.json 에 제일 하단 type을 모듈로 변경해주면 import 모듈을 사용할 수 있다.
  • 하지만 치명적인 문제가.. require를 사용하지 못한다는것..
  • require를 사용하고 있는 라이브러리에서 require를 찾지 못하는 문제가 발생한다는것...

다른 해결방법 babel node

  • babel node를 설치하고

  • server 파일을 babel-node로 컴파일해주면 높은 버전에서 사용하는 모든 기능들을 낮은 버전의 자바스크립트로 변경을 해준다
  • 위와 같은 방법을 사용한다면 두가지 방법을 한 작업안에서 동시에 사용이 가능하다
profile
컴퓨터가 좋아

0개의 댓글