node. js 학습 노트 의 module. exports 와 exports

2171 단어 exportsmodulenode.js
nodejs 모듈 에서 모듈 의 방법 과 변 수 를 밖으로 드 러 내 려 면 module. exports 또는 exports 를 사용 해 야 하지만 그들의 의 미 는 다르다.
  • module.exports

  • module 은 이 모듈 의 대상 을 표시 합 니 다. module 대상 에 exports 의 속성 이 있 습 니 다. 기본 값 은 빈 대상 {} 입 니 다.exports 는 모듈 외부 노출 방법 이나 변수의 인터페이스 로 변수 나 방법 을 노출 할 수 있 습 니 다.
    javascriptvar a =  10;
    module.exports = a;
    
    javascriptvar a =  10;
    var b = 'hello';
    module.exports = {age:a,name:b};
    
    javascriptvar a =  {
        name : 'hello',
        age: 10
    }
    module.exports = a;
    
    javascriptfunction a(){
        console.log('hello')
    }
    module.exports = a;
    
    javascriptvar a = function (){
        console.log('hello')
    }
    module.exports = a;
    
    javascriptvar a = {
        name : 'hello',
        getName : function(){
            console.log(this.name)
        }
    }
    module.exports = a;
    
  • exports

  • exports 는 module. exports 의 인용 으로 exports 에 속성 을 추가 할 수 있 으 나 직접 값 을 부여 할 수 없습니다. 그러면 module. exports 에 대한 인용 을 잃 고 값 을 드 러 내지 않 습 니 다.
    javascriptexports.name = 'hello';
    
    javascriptexports.getName = function(){
        console.log(this.name)
    }
    

    module. exports 의 인용 이기 때문에 exports 에 값 을 부여 할 때마다 module. exports 에 값 을 부여 합 니 다.exports 에 직접 값 을 부여 하면:
    javascriptexports = 'hello';
    

    즉, exports 가 module. exports 에 대한 인용 을 바 꾸 었 기 때문에 부 여 된 값 은 module. exports 를 통 해 노출 될 수 없습니다.
  • exports = module.exports = xxx

  • 여러 항목 에서 이 문장 을 볼 수 있 습 니 다. 모듈 이 비 Object 를 출력 하려 고 할 때 (예 를 들 어 하나의 Function) 사용 할 수 있 습 니 다.
    javascriptmodule.exports = function () {}
    

    이 때 module. exports 가 덮어 씌 워 졌 고 exports 는 원래 의 이미지 에 대한 참조 입 니 다. 뒤의 코드 에서 exports. xx = yy 를 사용 하지 않도록 출력 이 올 바 르 지 않 습 니 다. exports 변 수 를 새로운 module. exports 의 참조 로 다시 설정 해 야 합 니 다. 따라서 일반적으로 습관 적 으로 쓰 입 니 다.
    javascriptexports = module.exports = xxx
    

    좋은 웹페이지 즐겨찾기