require

Posted by yunki kim on November 11, 2020

require의 특성

1. require는 꼭 맨 위에 올 필요가 없다

2. require한 모듈 내부에 있는 변수, 함수를 호출해 사용하지 않아도 될 경우 변수에 할당하지 않아도 된다.

     const a = require('./b') 대신 require('./b') 가능

3. require.cache에는 이전에 require했던 모듈의 정보가 캐싱되 있어서 이전에 require된 모듈을 반복적으로 require하게 되면           require.cache에서 호출해 시간을 단축시킨다 

4. require.main에는 맨 처음 실행한 모듈이 담겨있다

5. js를 node로 실행하면 거의 가 모듈이 된다->require도 모듈이다

코드

순환참조

  순환참조가 발생하게 되면 노드는 무한 루프를 방지하기 위해 module.exports의 값을 빈 객체로 한다.

ex). a.js가 b.js를 참조하고 b.js가 a.js를 참조하는 경우