[JavaScript] JavaScript의 모듈들

2023. 1. 20. 18:46·JavaScript

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와 같은 키워드를 사용

 

 

 


 

https://www.inflearn.com/course/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EB%82%A0%EA%B0%9C%EB%8B%AC%EA%B8%B0

 

[무료] 프론트엔드 날개달기: Vuejs, React 배우기 전에 꼭 알아야하는 지식 - 인프런 | 강의

이 강의를 통해 Webpack, NPM 등 프론트엔드 개발자가 되기 전에 꼭 알아야할 지식을 탄탄히 다질 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com

 

728x90

'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
'JavaScript' 카테고리의 다른 글
  • [JS] JS에서 함수(function)란?
  • [JS] Webpack 기초
  • [JavaScript] JavaScript의 API들
  • [JavaScript] IT 용어들 (API, 동기, 비동기, 프론트엔드, 백엔드)
에이전트공방
에이전트공방
Agent로 먹고살기..🛠️
  • 에이전트공방
    에이전트공방
    에이전트공방
  • 전체
    오늘
    어제
    • 분류 전체보기 (109)
      • Python (19)
      • AWS (5)
      • Server (7)
      • Docker (7)
      • GIT (7)
      • Node (9)
      • React (11)
      • OS (8)
      • Java (3)
      • JavaScript (11)
      • Vue (12)
      • CSS (5)
  • 링크

  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
에이전트공방
[JavaScript] JavaScript의 모듈들
상단으로

티스토리툴바