[node.js]- 디자인 패턴 -(export/require)

정대만·2023년 4월 10일
0

chapter02 모듈 시스템

모듈의 필요성

  1. 분할하는 방법을 제시한다 구조적으로 관리할수 있게 해줘서
    독립저긴 기능들을 개발 하고 추합 할수 있게 도와줌
  2. 코드의 재사용
  3. 은닉성 제공 / 복잡한 구현을 숨긴채 명료한 책임 을 가진 간단한 인터페이스만 노출시킨다.

모듈을 불러오는 기능인 require 의

var require = function(src){                 

   if(require.cache[id]){
      return require.cache[id].exports
      > 캐시에 존재하면 return 한다.
   }

    var fileAsStr = readFile(src) 
    //파일을 읽어온다
    var module.exports = {}
    //모듈 외부데이터 
    eval(fileAsStr) 
     //
    require.cache[id]= module    
    return module.exports                    
}

따라서
module.exports vs exports

moudule.exports 에 저장되어잇는 함수를 가져오라는 의미 이다.

이러한 개념을 토대로 하여
다른 파일에 존재하는 함수를 export 할려고 하면

module.exports= new class() 형식이나
module.exports= 함수

const {새로운 함수 = require(' 함수 경로 이름')
으로 뽑아 낼수 있다.

profile
안녕하세요

0개의 댓글