1. 모듈(Module)이란?
- 개발하는 애플리케이션의 규모가 커지면 파일을 여러 개로 분리하는 것이 좋음
- 이 때 분리된 하나의 파일을 모듈이라고 부름
- 모듈을 대개 클래스 하나 혹은 특정한 목적을 가진 여러 개의 함수를 포함하는 라이브러리로 구성되어 있음
[ 장점 ]
- 유지보수 용이
기능들이 모듈화가 잘 되어 있는 경우, 의존성을 줄일 수 있기 때문에 기능의 개선이나 수정이 용이
- 네임스페이스화
코드의 양이 많아질수록 전역 스코프에는 존재하는 변수명이 겹치는 경우가 존재 -> 이때 모듈로 분리하면 모듈만의 네임스페이스를 따로 가지기 때문에 해당 문제를 해결할 수 있음
- 재사용성
같은 코드를 반복하지 않고 모듈로 분리시켜서 필요할 때마다 재활용 가능
2. 모듈 시스템
- 모듈을 필요시에 불러오는 방법
- AMD
가장 오래된 모듈 시스템 중 하나 / require.js라는 라이브러리를 통해 처음 개발
- CommonJS
NodeJS 환경을 위해 만들어진 모듈 시스템
- UMD
AMD와 CommonJS와 같은 다양한 모듈 시스템을 함께 사용하기 위해 만들어짐
- ES Module
ES6 (ES2015)에 도입된 자바스크립트 모듈 시스템
3. ES Module 방식
- ES6(ES2015)에 도입된 자바스크립트 모듈 시스템
- <script> 태그에 type="module" 속성을 추가해주면, 이 파일은 모듈로서 동작
- 모듈을 외부에서 사용할 수 있도록 내보낼 때는 named export, default export와 같은 키워드를 사용
4. CommonJS 방식
- NodeJS 환경에서 자바스크립트 모듈을 사용하기 위해 만들어진 모듈 시스템
- 모듈을 외부에서 사용할 수 있도록 내보낼 때는 exports, module.exports와 같은 키워드를 사용
[무료] 프론트엔드 날개달기: Vuejs, React 배우기 전에 꼭 알아야하는 지식 - 인프런 | 강의
이 강의를 통해 Webpack, NPM 등 프론트엔드 개발자가 되기 전에 꼭 알아야할 지식을 탄탄히 다질 수 있습니다., - 강의 소개 | 인프런...
www.inflearn.com
'JavaScript' 카테고리의 다른 글
[JS] JS에서 함수(function)란? (0) | 2023.07.26 |
---|---|
[JS] Webpack 기초 (0) | 2023.01.20 |
[JavaScript] JavaScript의 API들 (0) | 2023.01.20 |
[JavaScript] IT 용어들 (API, 동기, 비동기, 프론트엔드, 백엔드) (0) | 2023.01.20 |
[JavaScript] JavaScript 입문 (0) | 2023.01.20 |