Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트 모듈(Module) 완벽 정리: export와 import로 코드 관리하기

자바스크립트 모듈(Module)은 ES 2015(ES6)에서 처음 도입된 기능입니다. 모듈을 사용하면 하나의 거대한 코드 덩어리를 재사용 가능한 작은 단위로 나누어 관리할 수 있으며, 각 모듈 안에는 클래스나 함수 등을 포함시킬 수 있습니다.

모듈에서는 export 키워드를 사용해 변수, 함수, 객체를 외부로 내보내고, 다른 파일에서는 import 키워드를 통해 해당 요소들을 가져와 사용할 수 있습니다.

주의 사항

Note − 이 예제를 실행하려면 로컬호스트(Localhost) 서버 환경이 필요합니다. 파일을 직접 열어서 실행하면 CORS 정책 때문에 모듈이 정상적으로 동작하지 않을 수 있습니다.

다음은 자바스크립트 모듈을 활용한 예제 코드입니다.

예제

INDEX.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .result {
      font-size: 18px;
      font-weight: 500;
      color:blueviolet;
   }
</style>
</head>
<body>
<h1>JavaScript Modules</h1>
<button class="Btn">IMPORT</button>
<div class="result"></div>
<h3>Click on the above button to import module</h3>
<script src="script.js" type="module"></script>
<script src="sample.js" type="module"></script>
</body>
</html>

HTML 파일에서 핵심 부분은 <script> 태그에 type="module" 속성을 추가한 것입니다. 이 속성이 있어야 브라우저가 해당 스크립트를 모듈로 인식합니다.

script.js

import test from './sample.js';
document.querySelector('.Btn').addEventListener('click',()=>{
   test();
})

script.js 파일에서는 import 문을 사용해 sample.js에서 내보낸 기본(default) 함수를 가져옵니다. 그리고 버튼 클릭 이벤트가 발생할 때마다 가져온 함수를 실행합니다.

sample.js

let resultEle = document.querySelector(".result");
export default function testImport(){
   resultEle.innerHTML = 'Module testImport has been imported';
}

sample.js 파일에서는 export default를 사용해 testImport 함수를 내보냅니다. 이 함수가 호출되면 화면의 결과 영역에 모듈이 성공적으로 임포트되었다는 메시지를 출력합니다.

실행 결과

페이지를 처음 열었을 때의 초기 화면입니다.

자바스크립트 모듈(Module) 완벽 정리: export와 import로 코드 관리하기

위 화면에서 'IMPORT' 버튼을 클릭하면 아래와 같이 모듈이 임포트되었다는 결과가 표시됩니다.

자바스크립트 모듈(Module) 완벽 정리: export와 import로 코드 관리하기

정리

자바스크립트 모듈은 코드의 가독성과 유지보수성을 크게 향상시켜 주는 강력한 기능입니다. exportimport 키워드만 익히면 여러 파일에 걸쳐 코드를 체계적으로 구성할 수 있으므로, 규모가 커지는 프로젝트에서 반드시 활용하는 것이 좋습니다.