Node.js '__dirname' 대 'process.cwd()'
3141 단어 javascriptnodeprogramming
NodeJS란 무엇입니까?
Node.js는 Chrome의 V8 엔진 위에 구축된 오픈 소스 JavaScript 런타임입니다. 전통적인 JavaScript는 브라우저에서 실행되지만 Node.js를 사용하면 서버, 하드웨어 장치 등에서 JavaScript를 실행할 수 있습니다.
이제 이러한 전역 변수가 무엇이며 작동 방식이 어떻게 다른지 살펴보겠습니다.
__이름:
현재 모듈의 디렉토리 이름을 반환하는 지역 변수입니다. 현재 JavaScript 파일의 폴더 위치를 반환합니다.
프로세스.cwd():
Node.js에는 global이라는 전역 개체가 있고 프로세스 개체는 전역 개체 안에 있습니다.
process.cwd()는 NodeJS 앱이 제공되는 디렉토리의 이름을 제공합니다. 즉, NodeJS 프로세스의 작업 디렉토리입니다.
실제 시연
app.js
터미널에서 app.js 실행
node app.js
산출
======== process.cwd()=========
C:\Users\qbentil\blog6
======== __dirname=========
C:\Users\qbentil\blog6
try/try.js의 코드 스니펫
app.js용 코드 스니펫
run node app.js
산출
======== process.cwd() from /try/try.js=========
C:\Users\User\Desktop\blog6
======== __dirname from /try/try.js=========
c:\Users\User\Desktop\blog6\try
PS C:\Users\User\Desktop\blog6>
위의 출력은 파일 try.js의 디렉토리가 blog6/try에 있는 반면 현재 노드 프로세스는 blog6/폴더에서 실행되고 있음을 보여줍니다.
결론
위의 범위 변수에도 불구하고 애플리케이션의 어느 시점에서 어떤 변수를 호출할지 알기 위해 다음과 같은 차이점에 유의하는 것이 중요합니다.
__dirname과 process.cwd()의 차이점
__dirname
프로세스.cwd()
소스 코드 파일이 포함된 디렉토리의 디렉토리 이름을 반환합니다.
NodeJS 프로세스가 제공되는 현재 작업 디렉토리의 이름을 반환합니다.
현재 디렉토리에 따라 다릅니다.
호출 노드 명령에 따라 다릅니다.
각 모듈에 로컬입니다.
노드의 전역 개체입니다.
NodeJS 개발자로서 이러한 변수를 사용하는 방법을 아는 것은 때때로 매우 혼란스럽고 앱에서 불필요한 버그를 유발할 수 있으므로 매우 중요합니다.
행복한 해킹!
여기 벤틸🚀
내 콘텐츠가 마음에 들면 여기에서 작업을 계속할 수 있도록 지원할 수 있습니다.👇
아래 의견 상자에 질문이나 제안 사항을 알려주십시오.
Reference
이 문제에 관하여(Node.js '__dirname' 대 'process.cwd()'), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/qbentil/nodejs-dirname-vrs-processcwd-3k88텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)