Module

하정현·2023년 11월 7일

Node.js

목록 보기
6/12

🐣Module

Module이란 파일 단위로 분리된 코드를 말한다.
다시 말하면 하나의 기능을 할 수 있는 파일 단위이다.

🐥모듈의 특징

-Node.js는 파일과 1대1 대응 관계를 가지는 module 단위로 각 기능을 분할한다.

-하나의 모듈은 자신만의 독립적인 스코프를 가지므로 
전역 변수의 중복 문제 가 발생하지 않는다.

-기능별로 분리되어 작성되므로 개발 효율성과 유지보수가 용이하다.

-모듈은 module.exports 또는 exports 객체를 통해 정의하고 
외부로 공개한다. 공개된 모듈은 require 함수를 사용하여 임포트한다.

🐣 Module 사용해보기

🐥CommonJS

브라우저 이외의 환경에서 모듈을 사용할 수 있도록 고안된 명세입니다.
설정을 따로 추가하지 않은 이상, Node.js에서는 CommonJS를 기본으로 사용하게 됩니다.
CommonJS는 전역 스코프에 정의 되어있는 require 함수로 대표됩니다.
require함수는 경로 혹은 문자열을 가지고 내부 알고리즘을 통해 모듈을 가져오고 종속성을 처리합니다.

moudle이란 폴더에 math파일와 run파일을 만들었다.

// modules/math.js
function add(a, b) {
  return a + b;
}

module.exports = add;
// modules/run.js
const add = require("./math");
console.log(add(3, 4));
// Print: 7

모듈 파일에서 구현함 add함수를
run 파일에서 불러서 실행했다.

화살표함수, 익명함수등 사용법이 다양하다.

🐥ECMA Script Module(ESM)

모든 Javascript 환경에서 통합적인 인터페이스를 제공하기 위해 시작된 체계입니다.
CommonJS와는 다르게 정적으로 모듈을 가져오며 비동기적 모듈 로딩과 순환 종속을 처리합니다.

아직 사용을 안해봐서 훗날 사용할 때가오면 추가하겠슴니당.

🐤 결론

모듈에 대해 자세히 들어가면 들어갈 수록 설명할 것도 많아지고 알아야 할것도 많은 것 같다.
정리한 내용은 정말 모듈에 극히 일부분인것 같다.

0개의 댓글