반응형
모듈의 중요성
- 코드 분리 및 재사용성 증가: 모듈을 사용하면 코드 베이스를 논리적으로 분리할 수 있으며, 필요한 코드를 다른 프로젝트에서도 쉽게 재사용
- 유지보수 용이: 모듈별로 코드를 관리함으로써 유지보수 용이
각 모듈은 독립적으로 기능하므로, 하나의 모듈을 수정해도 다른 모듈에 영향을 미치지 않음 - 정보 은닉: 모듈 내부의 구체적인 구현을 숨기고, 필요한 부분만 외부에 노출시킬 수 있음
코드의 보안성을 높이는데 기여 - 종속성 관리: 모듈은 필요한 다른 모듈에 대한 종속성을 명시적으로 관리
모듈 시스템의 종류
- CommonJS(CJS): Node.js에서 주로 사용되는 모듈 시스템
require 함수를 사용하여 다른 모듈을 불러오고 module.exports를 사용하여 모듈을 외부로 노출 시킴
주로 서버 측 개발에 사용 - ECMAScript Module(ESM): 최신 JavasScript에서 지원되는 모듈 시스템으로 import와 export문을 사용
정적 모듈 로딩을 지원하며, 모듈 로딩 시점이 컴파일 시간에 결정
프론트엔드 및 서버 사이드 모두 사용
모듈 사용법
- Exporting: 모듈 내부에서 정의된 변수나 함수를 외부에서 사용할 수 있도록 만드는 작업
export 키워드를 사용하여 특정 기능을 외부에 노출시킴 - Importing: 다른 모듈에서 정의된 기능을 사용하기 위해 import 구문을 사용
다른 모듈의 함수, 변수, 클래스 등을 현재 모듈로 가져올 수 있음
상대 경로 사용
- 모듈을 불러올 때 사용되는 경로는 현재 파일의 위치에 따라 상대적으로 해석
./ 는 현재 디렉토리, ../는 상위 디렉토리를 나타냄
모듈 사용의 심화 개념
- 화살표 함수와 익명 함수의 Export/Import: 화살표 함수나 익명 함수도 모듈로 내보내고 불러올 수 있음
- Default Export/Import: export default를 사용하면 해당 모듈에서 하나의 기본 값을 내보낼 수 있으며 import 시에는 중괄호를 사용하지 않음
모듈의 장점
- 모듈을 사용하면 프로젝트의 복잡성을 관리하고 코드의 격리 및 재사용성을 증가시킬 수 있음
반응형
'backend > Node.js' 카테고리의 다른 글
| [Node.JS 입문 리뉴얼] Request & Response (0) | 2023.12.01 |
|---|---|
| [Node.JS 입문 리뉴얼] API와 REST API의 개념 (0) | 2023.11.30 |
| [Node.JS 입문 리뉴얼] Express.js 프레임워크 (1) | 2023.11.29 |
| [Node.JS 입문 리뉴얼] Package Manager (0) | 2023.11.29 |
| [Node.JS 입문 리뉴얼] 개발 환경 설정 (0) | 2023.11.29 |
