require와 import는 둘 다 모듈 시스템에서 다른 파일에서 정의된 함수, 변수, 객체 등을 사용하기 위한 구문입니다.
공통점은 모듈을 가져오기 위한 구문이라는 것입니다. require는 Node.js에서 사용되는 구문이며, import는 ES6(ECMAScript 2015)에서 추가된 구문입니다.
차이점은 다음과 같습니다.
require는 Node.js에서 사용되므로, 서버 사이드에서 모듈을 로드할 때 사용됩니다. import는 대부분의 브라우저에서 지원되지만, 아직 일부 브라우저에서는 지원되지 않으므로, 클라이언트 사이드에서 모듈을 로드할 때 사용됩니다.
이제 서버 사이드에서도 import 구문을 사용할 수 있도록 Node.js에서도 import를 지원하고 있습니다. 하지만 아직까지는 require 구문이 Node.js의 공식 문서에서 권장되는 구문입니다.