node 의 exports 와 module.exports 의 관 계 를 간단히 말 합 니 다.
1953 단어 nodemodule.exports
먼저 js 기초 부분의 복습 을 하 겠 습 니 다.
let obj1 = {}
let obj2 = obj1
obj2.a = 'a'
obj1.b = 'b'
console.log(obj1) //{a: 'a', b: 'b'}
console.log(obj2) //{a: 'a', b: 'b'}
obj2 = {}
console.log(obj2) //{}
console.log(obj1) //{a: 'a', b: 'b'}
obj 1 은 메모리 에 있 는 블록 을 가리 키 고 obj 1 이 메모리 블록 을 가리 키 는 인용 을 obj 2 에 전달 합 니 다.이때 obj 1 과 obj 2 는 메모리 에 있 는 같은 블록 을 가리 키 기 때문에 obj 1 이나 obj 2 를 통 해 이 메모리 에 속성 을 추가 하 더 라 도 obj 1 과 obj 2 에 동시에 반응 합 니 다.이때 obj 2 는 원래 메모리 블록 과 의 관 계 를 끊 고 새로운 메모리 블록 을 가리 키 고 있 습 니 다.그리고 obj 1 은 가장 먼저 메모리 블록 을 가리 키 는데 이때 그들 은 각자 의 메모리 블록 을 관리한다.이제 module.exports 와 exports 의 관 계 를 봅 시다.
그림 이 처음 시 작 될 때 module.exports 와 exports 는 같은 메모리 영역,빨 간 선 이 포 함 된 영역 을 가리 키 는데 그 중에서 module.exports 가 가리 키 는 영역 은 회색 으로 채 웁 니 다.
시초
현재 우 리 는 module.exports={a:"a"}로 내 보 냅 니 다.그러면 module.exports 는 원래 의 빨간색 선과 둘러싸 인 메모리 블록 을 차단 하고 새로운 메모리 블록 을 가리 키 며 회색 으로 채 워 진 메모리 블록 을 가리 키 고 있 습 니 다.그림 과 같 습 니 다.
module.exports 내 보 내기
또는 우리 가 exports={a:"a"}로 내 보 내 면 exports 는 원래 의 빨 간 선 에 포 함 된 메모리 블록 을 차단 하고 새로운 메모리 블록 을 가리 키 고 그림 과 같 습 니 다.
exports 로 내 보 내기
중요 한 것 은 우리 가 require 를 통 해 가 져 온 것 은 영원히 module.exports 입 니 다.즉,그림 에 회색 으로 채 워 진 메모리 블록 입 니 다.빨간색 라인 의 초기 메모리 블록 이 아 닙 니 다.따라서 내 보 낼 때 module.exports 든 exports 든 내 보 낼 내용 이 회색 메모리 블록 에 걸 려 있 는 것 이 가능 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Express.js에서 오류를 처리하는 간단한 방법Express에서 오류를 처리하는 여러 가지 방법이 있습니다. 이를 수행하는 일반적인 방법은 기본 익스프레스 미들웨어를 사용하는 것입니다. 또 다른 방법은 컨트롤러 내부의 오류를 처리하는 것입니다. 이러한 처리 방식...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.