모듈(Module)

강준석·2023년 4월 16일
0

Node.js 기초

목록 보기
9/15

모듈이란

모듈은 자바스크립트파일 단위로 분리된 코드
여기서 자바스크립트파일은 특정한 기능을 가진 여러 개의 함수와 변수들으 집합이다.

  1. 모듈은 하나의 모듈에서 다른 모듈을 호출하여 사용할 수 있다.
  2. 모듈은 그 자체로도 하나의 프로그램이면서 다른 프로그램의 부품으로도 사용할 수 있다.
  3. 보통 1개의 파일이 1개의 모듈이 된다.
  • 모듈의 필요성
    1. 코드 베이스를 분리할 수 있다 이를 통해 코드를 구조적으로 관리할 수 있다.
    1. 코드를 재사용 가능 (모듈화 modularize)
    2. 모듈의 인터페이스만 노출 시킬 수 있다
    3. 종속성을 관리할 수 있다

Common.js(CJS)

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

모듈 사용해보기

  • export 명령어를 변수함수 앞에 붙이면 외부 모듈에서 해당 변수나 함수에 접근가능.
  • import, require 명령어를 사용하면 외부 모듈의 기능을 가져올 수있다.
  • 2가지의 인자를 입력받았을 때 값을 더해주는 함수를 생성.( Math.js )

    		// 값을 더하는 함수를 Module로서 밖으로 보내준 다음 run.js에서
    // 그 모듈이 실행되게끔 만들어보기 
    
    function add(a,b){
        return a + b;
    }
  • 그리고 작성한 함수를 다른 모듈로 내보내주기 위해 하단에 코드를 추가( math.js )

    // add함수를 밖으로 보내주기 함수 그자체를 내보내준다
    module.exports = add;
    
    // 모듈을 호출했을 때, add 키 값에는 (a,b){return a + b;} 익명함수가 할달되는 방법
    exports.add = function(a,b){
        return a + b;
    }
    
    // 모듈을 호출했을 때 add 키 값에는 add 함수가 들어가는 방법이다.
    module.exports = {add : add};
  • run.js에서 불러들인 add함수를 사용하도록 작성

    const add = require("./math.js")
    // math.js에서 밖으로 보낸 add함수 모듈을 가져온다
    
    console.log(add(10,30)); //40 -> 정상적으로 잘 add함수를 잘 불러옴
    
    //export로 하나씩 보낸것을 받았을때는 객체로 받기 때문에 
    console.log(add.add(10,30));
    
    //==============================================================
    
    // 객체구조분해할당을 통해서 간략하게 사용가능
    const {add} = require("./math.js")
    console.log(add(10,30));
profile
백엔드개발자를 목표로 공부중

0개의 댓글

관련 채용 정보