반응형
node.js에서 내 스크립트가 직접 실행되고 있는지 또는 다른 스크립트에 의해로드되고 있는지 알 수 있습니까?
방금 node.js를 시작하고 있으며 Python에 대한 경험이 있습니다. Python에서 __name__
변수가로 설정 되었는지 여부를 확인할 수 있으며 "__main__"
스크립트가 직접 실행되고 있는지 알 수 있습니다. 이 경우 테스트 코드를 실행하거나 다른 방법으로 모듈을 직접 사용할 수 있습니다.
node.js에 비슷한 것이 있습니까?
를 사용 module.parent
하여 현재 스크립트가 다른 스크립트에 의해로드되었는지 확인할 수 있습니다 .
예 :
a.js
:
if (!module.parent) {
console.log("I'm parent");
} else {
console.log("I'm child");
}
b.js
:
require('./a')
실행 node a.js
하면 다음 이 출력됩니다.
I'm parent
실행 node b.js
하면 다음 이 출력됩니다.
I'm child
받아 들여진 대답은 괜찮습니다. 완전성을 위해 공식 문서 에서 이것을 추가하고 있습니다 .
메인 모듈에 액세스
파일이 노드에서 직접 실행하면, require.main
그것으로 설정됩니다 module
. 즉, 테스트를 통해 파일이 직접 실행되었는지 확인할 수 있습니다.
require.main === module
파일의 경우 "foo.js"
,이 것 true
를 통해 실행하는 경우 node foo.js
, 만 false
에 의해 실행하는 경우 require('./foo')
.
속성을 module
제공 하기 때문에 filename
(일반적으로 __filename
)를 확인하여 현재 응용 프로그램의 진입 점을 얻을 수 있습니다 require.main.filename
.
옵션 !module.parent
과 require.main === module
작업 모두 . 자세한 내용 은이 주제에 대한 자세한 블로그 게시물을 참조하십시오 .
반응형
'IT TIP' 카테고리의 다른 글
Chrome JavaScript Debugger 사용 / 페이지 로딩 이벤트 중단 방법 (0) | 2020.12.14 |
---|---|
C ++에서 c_str 함수의 사용은 무엇입니까 (0) | 2020.12.14 |
JPA : 모델 계층 구조 구현-@MappedSuperclass 대 @Inheritance (0) | 2020.12.14 |
WAS (Windows Process Activation Service)에서 응용 프로그램 풀을 제공하기 위해 작업자 프로세스를 시작할 때 오류가 발생했습니다. (0) | 2020.12.14 |
함수에 매개 변수로 전달하지 않고 Spring에서 현재 사용자 로케일을 얻는 방법은 무엇입니까? (0) | 2020.12.14 |