process.cwd ()와 __dirname의 차이점은 무엇입니까?
차이점은 무엇입니까
console.log(process.cwd())
과
console.log(__dirname);
나는 비슷한 맥락에서 둘 다 사용되는 것을 보았다.
process.cwd()
현재 작업 디렉토리를 반환합니다.
즉, node
명령 을 호출 한 디렉토리입니다 .
__dirname
JavaScript 소스 코드 파일을 포함하는 디렉토리의 디렉토리 이름을 리턴합니다.
노드에 따라 js doc process.cwd()
cwd
는 전역 객체의 메소드이며 process
Node.js 프로세스의 현재 작업 디렉토리 인 문자열 값을 리턴합니다.
노드에 따라 js doc __dirname
문자열 값으로 현재 스크립트의 디렉토리 이름입니다. __dirname은 실제로 전역이 아니라 각 모듈에 대해 로컬입니다.
예를 들어 설명하겠습니다.
main.js
파일이 내부에 C:/Project/main.js
있고 node main.js
두 값을 모두 실행 하면 동일한 파일을 반환 한다고 가정 합니다.
또는 단순히 다음 폴더 구조로
Project
├── main.js
└──lib
└── script.js
main.js
console.log(process.cwd())
// C:\Project
console.log(__dirname)
// C:\Project
console.log(__dirname===process.cwd())
// true
script.js
프로젝트의 하위 디렉토리에 다른 파일 파일이 C:/Project/lib/script.js
있고 실행 중이라고 가정 node main.js
합니다.script.js
main.js
require('./lib/script.js')
console.log(process.cwd())
// C:\Project
console.log(__dirname)
// C:\Project
console.log(__dirname===process.cwd())
// true
script.js
console.log(process.cwd())
// C:\Project
console.log(__dirname)
// C:\Project\lib
console.log(__dirname===process.cwd())
// false
각각 의 범위 를 알면 일을 더 쉽게 기억할 수 있습니다.
process
은 node
전역 객체이며 .cwd()
노드가 실행중인 위치를 반환합니다.
__dirname
이다 module
의 속성은, 모듈의 파일 경로를 나타냅니다. 노드에서 하나의 모듈은 하나의 파일에 있습니다.
마찬가지로 모듈의 파일 이름을 보유하는 __filename
또 다른 module
속성입니다.
참고 URL : https://stackoverflow.com/questions/9874382/whats-the-difference-between-process-cwd-vs-dirname
'Programing' 카테고리의 다른 글
구분 기호를 제외하고 두 문자 사이에 포함 된 문자열을 찾기위한 정규식 (0) | 2020.04.01 |
---|---|
해시 된 비밀번호 필드에 사용할 데이터 유형 및 길이는 무엇입니까? (0) | 2020.04.01 |
배경색과 배경색의 차이점은 무엇입니까 (0) | 2020.04.01 |
코드를 대문자 또는 소문자로 변환하는 Intellij 단축키? (0) | 2020.04.01 |
.min 파일을 포함하지 않는 번 들러 (0) | 2020.03.31 |