자바스크립트 ES 모듈 내보내기/불러오기 (import)
www.daleseo.com
자바스크립트 개발을 하다보면 `require`나 `import` 키워드를 통해 외부 라이브러리를 불러오는 코드를 자주 보게 됩니다. `require`는 Node.js에서 예전부터 사용되고 있는 CommonJS의 키워드이고, `import`는 ES6(ES2015)에서 새롭게 도입되어 현재 자바스크립트 생태계에서 표준이 되어가고 있는 키워드입니다. 두 개의 키워드 모두 하나의 파일에서 다른 파일이나 npm 패키지의 코드를 불러온다는 동일한 목적을 가지고 있지만, 비슷한듯 약간씩 다른 문법 때문에 개발자들을 혼란스럽게 하기도 하죠.
```js
const express = require("express");
const app = express();
```
```js
import express from "express";
const app = express();
```
예를 들어, 위 두 코드는 ExpressJS 라이브러리를 불러와서 서버 객체를 생성하는 동일한 작업을 수행하고 있습니다. CommonJS 방식을 따른 첫 번째 코드는 Ruby 언어처럼 `require` 키워드를 사용하여 여타 다른 변수를 할당하듯이 모듈을 불러오는 반면에, ES Module 방식을 따른 두 번째 코드는 Java나 Python 언어처럼 `import` 키워드를 사용하여 좀 더 명시적으로 모듈을 불러오고 있습니다.
이번 시간에는 아래 두 개의 포스팅을 통해서 자바스크립트에서 모듈을 내보내고 불러오는 방법을 예제를 통해서 상세하게 설명드리겠습니다. 이번 기회에 CJS과 ESM로 양분되어 햇갈리는 자바스크립트의 모듈 시스템을 완벽하게 정리하실 수 있으셨으면 좋겠습니다.
📕 자바스크립트 ES 모듈 내보내기/불러오기 (import): https://www.daleseo.com/js-module-import/
📗 자바스크립트 CommonJS 모듈 내보내기/불러오기 (require): https://www.daleseo.com/js-module-require/
참고로 최근에는 이 두 가지 모듈 시스템을 자유롭게 혼용해서 쓰실 수도 있는 자바스크립트 런타임도 등장했는데요. 이 부분에 관심이 있으신 분들께는 아래 게시물을 추천드리겠습니다.
Bun: 귀엽지만 강력한 새로운 자바스크립트 런타임 🥟: https://careerly.co.kr/comments/92202
다음 내용이 궁금하다면?
이미 회원이신가요?
2023년 10월 22일 오전 2:24
예전에 직장에서 많이 쓰던 말 중에 '애사심'이라는 것이 있다. 말 그대로 '회사를 사랑하는 마음'이다. 이제는 이 말이 쓰이는 경우를 보는 것이 쉽지 않지만, 여전히 애사심을 요구하는 리더를 간혹 보게 된다. 조직에 대해 애착을 가질 것을 요구하는 것이다.
... 더 보기실리콘밸리 관련해서 종종 듣는 질문들 중에 다음과 같은 것들이 있다.
... 더 보기요
... 더 보기팀이나, 파트등의 조직에서의 생활을 하다 보면은 나의 의사와 다른 상황이 펼쳐지는 일이 꽤 많은 빈도로 발생이 되는거 같아요. 짧다면 짧고, 길다면 긴 조직 생황을 하였지만 가장 어려운 것이 나의 의사와 다른 생각을 가지는 일들이 생기는 것들 같아요.
... 더 보기국내 바이브코딩 시장을 혼자 독점하고 계신 커서맛피아님을 인터뷰했어요.
... 더 보기