2
Q
사용 인라인
A
답변
4
루프를 통해 매번 require()
이 호출되지만 require()
이로드 된 모듈은 캐시되고 모듈로드 코드는 모듈이 처음로드 될 때만 실행됩니다. 따라서 약간의 여분의 오버 헤드가 require('path')
을 호출하는 동안 캐시에서 해당 모듈 이름을 조회하고 캐시 된 모듈 핸들을 반환하는 것입니다. require()
에 전화 할 때마다 모듈을로드하고 구문 분석하고 실행할 필요가 없습니다.
여전히이의 습관으로 더 나은 것, 말했다 :
const pathModule = require('path');
function something(...paths) {
return pathModule.join(...paths);
}
당신이 그것을하고 있던 방법에 대한 다른 단점은 path
모듈이로드를 처음 있음을의 시스템은 동기 파일 입출력을 사용하여 다중 사용자 서버에서 좋지 않습니다. 파일 I/O는 처음에는 발생하지만 여전히 좋은 방법은 아닙니다. 서버 초기화시 동기식 I/O를 방해하지 않는 것이 좋습니다.