2012-03-20 3 views
5

node.js에 현재로드 된 모든 모듈을 제공하거나 더 나은 파일 이름을 제공하는 함수가 있습니까?현재로드 된 node.js 모듈 목록?

나는 ...

+0

왜 [Nodemon] (https://github.com/remy/nodemon)을 사용하지 않습니까? –

+1

그것은 효율적으로로드 된 모듈뿐만 아니라 모든 종류의 파일을 모니터하기 때문입니다. 어쨌든 힌트를 주셔서 감사합니다. –

답변

9

확인 module 모듈 소스를로드 모듈이 업데이트되는 즉시 내 프로세스를 다시 시작하고 그래서 파일이 변경 내용을 모니터링해야 하는지를 알 필요합니다. 당신의 대답은 :

Object.keys(require('module')._cache); 
+0

이 코드는 어떤 역할을합니까? –

+0

이 코드는 현재로드 된 노드 모듈 (파일 이름)의 목록을 인쇄합니다. – Anatoliy

4

Anatoliy's helpful answer을 보완하기 위해 :

는 Node.js를의 v0.3.0 때문에, require.cache가로드 비 핵심 모듈을 포함 :

Object.keys(require.cache); # lists full filenames of loaded non-core modules 

require.cache의 장점이 있다는 것입니다 과 달리 으로 기록되어 있습니다.

참고 : 같은 util 같은

  • 코어 모듈은 require.cache에 표시되지 않습니다. 모듈은 코어 모듈 경우

    • 테스트, require.resolve(<name>) 사용은 즉, 단지, 모듈은 코어 모듈 이름 자체, <name> 반환하는 경우; 비 핵심 모듈은 전체 파일 이름을 반환합니다.
  • require.cache은 전체 파일 이름으로 키가 module 경우 모든 현재로드 비 핵심 모듈의 해시를 포함합니다.

관련 문제