2017-05-10 4 views
0

이것이 NodeJS에서 싱글 톤으로 작동하는 이유는 무엇입니까? 내가 한 번 이상이 파일을 가져 오는 경우 본질적으로이것이 NodeJS의 싱글 톤 역할을하는 이유

const io = require('socket.io')(); 

const singleton = module.exports = io; 

, 나는 처음 socket.io 인스턴스를 인스턴스화.

+0

있습니까 :

여기에 캐싱에 대한 공식 문서는? –

답변

3

모듈은 노드별로 캐시됩니다. 인스턴스를 반환하면 require이 파일은 매번 동일한 인스턴스 (io)를 얻게됩니다. 라인

const io = require('socket.io')(); 

은이 모듈이 처음으로 실행될 때만 실행됩니다. 그런 다음이 모듈을 필요로하는 모듈은 반환 된 인스턴스 만 가져옵니다. 내가 당신을 위해 명확히 수있는 다른 아무것도 https://nodejs.org/api/modules.html#modules_caching

+0

그래서'const singleton ='코드의이 부분은 정말로 중요하지 않습니까? –

+1

아니요. 이를 제거 할 수 있으며이 예제에서도 동일하게 작동합니다. –

관련 문제