-
모듈(Module)이란?node.js 2023. 6. 13. 15:35
Module 이란?
자바스크립트 파일 단위로 분리된 코드를 의미합니다.
1.모듈(Module)은 하나의 모듈에서 다른 모듈을 호출하여 사용할 수 있습니다.
2.모듈(Module)은 그 자체로도 하나의 프로그램이면서 다른 프로그램의 부품으로도 사용할 수 있습니다.
3.보통 1개의 파일이 1개의 모듈이 됩니다.
Module 은 왜 필요한가?
1.코드 베이스를 분리할 수 있으며, 이를 통해 코드를 구조적으로 관리할 수 있습니다.
-> 유지 보수가 용이해 진다는 뜻
2.코드를 재사용 가능하게 만들어줍니다. 즉, 모듈화(module) 됩니다.
3.모듈의 인터페이스(Interface)만 노출 시킬 수 있습니다.
즉, 인터페이스 이외에는 모든 정보를 은닉하는 정보은닉(information hiding)을 구현 할 수 있게 됩니다.
4. 종속성을 관리할 수 있게 됩니다.
- CommonJS(CJS)
Node.js에서는 CommonJS를 기본으로 사용하게 됩니다.
CommonJS는 전역 스코프에 정의 되어있는 require함수로 대표됩니다.
require함수는 경로 혹은 문자열을 가지고 내부 알고리즘을 통해 모듈을 가져오고 종속성을 처리합니다.
- ES6(ES2015)
import로 모듈 시스템을 관리할 때 사용합니다.
사용 예시
module 폴더를 생성해math.js run.js라는 파일을 생성하여 사용하겠습니다.
2가지 인자를 입력받았을 때 값을 더해주는 함수를 생성합니다.
// modules/math.jsfunction add(a, b) {return a + b}생성된 함수를 다른 모듈로 보내주기 위한 코드 작성
// modules/math.js// 모듈 그 자체를 바로 add 함수에 할당한다.module.exports = add;run.js에서 불러들인 add함수를 사용하도록 작성
// modules/run.jsconst add = require("./math");console.log(add(10, 30));익명함수 사용
// modules/math.jsfunction add (a, b) {return a + b}// 모듈을 호출했을 때, add 키 값에는function(a,b) {return a + b} 익명함수가 할당되는 방법export.add = function(a,b) {return a + b}함수그자체를 내보내는 것이아니라 객채로서 내보낸다
// modules/run.jsconst add =require("./math.js");console.log(add.add(10,30));// 이런 형태로 사용 해야하지만
// 객체구조분해할당을 사용하면 깔끔하게 사용가능const {add} =require("./math.js");console.log(add(10,30));Module.exports 자체를 객체로 내보내는 방법
// modules/math.jsfunction add (a, b) {return a + b}// 모둘을 호출했을 때, add 키 값에는 add 함수가 들어가는 방법이다.module.exports = { add : add };const {add} =require("./math.js");console.log(add(10,30));위의 방법 중 어느 것을 사용해도 무방하며, 본인이편하거나, 프로젝트 중 팀원들과 맞추어 사용하면 될 듯하다.
'node.js' 카테고리의 다른 글
환경변수 dotenv (0) 2023.07.16 객체 지향에 대해 (0) 2023.07.06 Access Token 과 Refresh Token (0) 2023.07.06 Prettier 사용법 (0) 2023.07.04 JWT 토큰 인증이란 ? (Cookie, Session, Token) (0) 2023.06.21