본문 바로가기
공부/JS

require와 import의 차이점

by k1mwnjn 2023. 4. 3.

답변

require와 import는 외부 파일이나 라이브러리를 불러올 때 사용한다는 같은 목적을 가지고 있지만, 다른 문법구조를 가지고 있다.

require는 export와 함께 사용되며 어느 지점에서나 호출 할 수 있고 동기적이다. NodeJS에서 사용되는 CommonJS의 키워드이며 import export와 함께 사용되고 파일의 시작 부분에서만 실행 할 수 있고 비동기적이다.
또한 ES6에서 새롭게 도입된 키워드로서 차이점이 있다.

require은 Babel과 같은 ES6코드를 변환해주는 도구를 사용할 수 없는 상황에서 사용한다.
import는 JavaScript를 사용 중이거나 ES6 모듈에 대한 액세스 권한이 있는 경우에 사용한다.

 

바벨이란?

바벨이란 ES6+버전의 자바스크립트, 타입스크립트, JSX 등 다른 언어로 분류되는 언어들에 대해 모든 브라우저에서 동작할 수 있도록 호환시켜주는 툴이다. 바벨은 최신 문법을 이전세대 문법으로 호환시켜주는 기능이 있는데 그 중 하나가 JSX문법이다. JSX를 ES5 코드로 바꿔 브라우저에 작동할 수 있도록 하여 리액트에서 바벨이 사용된다.

 

 

 

참고 : https://velog.io/@dbsskdud60/Today-I-Learned-%EA%B8%B0%EC%88%A0-%EB%A9%B4%EC%A0%91-iqwjq6mn

댓글