require
CommonJS에서 사용하는 모듈을 불러오는 키워드
import
JS의 ES6 문법으로 다른 패키지 안에 있는 클래스, 메소드, 변수 등의 데이터를 사용하고자 할 때 쓰는 키워드
import 사용의 장점
모듈 관리 전용 키워드(import,from,export,default)를 사용하므로 가독성이 좋다.
실제로 쓰이는 부분만 불러와 사용하기 때문에 메모리를 절약할 수 있다.
require와 import의 주요 차이점을 정리해보면 다음과 같다.
require()
는 CommonJS를 사용하는 node.js문이지만 import()
는 ES6에서만 사용require()
는 파일 (어휘가 아님)에 들어있는 곳에 남아 있으며 import()
는 항상 맨 위로 이동require()
는 프로그램의 어느 지점에서나 호출 할 수 있지만 import()
는 파일의 시작 부분에서만 실행할 수 있다. (그렇지만 import 전용 비동기 문법으로 파일 중간에 모듈 불러오기를 할 수 있다. 참고글 Visit Website)import()
는 사용자가 필요한 모듈 부분 만 선택하고 로드 할 수 있기 때문에 더 선호된다. 또한 require()
보다 성능이 우수하며 메모리를 절약한다.두 키워드 모두 다른 파일의 코드를 불러온다는 동일한 목적을 가지고 있지만 다른 문법구조를 가지고 있고, Babel과 같은 ES6 코드를 변환해주는 도구 없이는 require 키워드를 사용해야 합니다.