Node.js에서 path.normalize와 path.resolve의 차이점
사이의 차이 (있는 경우) 무엇 path.normalize(your_path)
과 path.resolve(your_path)
?
나도 path.resolve(...)
여러 인수를 사용할 수 있지만, 호출과 같은 하나의 인수를 사용하여 동작입니다 path.normalize()
?
편집 : 그들이 같은 방식으로 행동해야한다면 path.normalize(...)
단순히 경로를 전달할 수있을 때 기능 을 노출하는 목적을 이해하지 못합니다. path.resolve(...)
또는 아마도 문서화 목적입니다. 예를 들어 문서에서 path.resolve(...)
다음 과 같이 말합니다 .
... 결과 경로가 정규화되고 ...
노출하면 path.normalize(...)
"정규화"가 무엇을 의미하는지 쉽게 설명 할 수 있습니다. ??? 몰라요.
path.normalize
경로에서 여분 .
의 ..
, 등을 제거 합니다. path.resolve
경로를 절대 경로로 확인합니다. 예 (현재 작업 디렉토리는 /Users/mtilley/src/testing
) :
> path.normalize('../../src/../src/node')
'../../src/node'
> path.resolve('../../src/../src/node')
'/Users/mtilley/src/node'
즉, path.normalize
"입력과 같은 위치로 나를 데려다 줄 수있는 최단 경로 path.resolve
는 무엇입니까?"이고 "이 경로를 택하면 목적지는 무엇입니까?"입니다.
그 그러나 주 path.normalize()
입니다 훨씬 더 상황에 독립적보다 path.resolve()
. 있었다 path.normalize()
된 상황에 드 팬던트 (즉, 그것은 고려 사항으로 현재 작업 디렉토리를 촬영 한 경우) 했 위의 예에서, 그 결과를 ../node
그 걸릴 수있는 최단 경로 중 하나이기 때문에, /Users/mtilley/src/testing
에가 /Users/mtilley/src/node
.
아이러니하게도 이것은 path.resolve()
절대적인 용어로 상대 경로를 path.normalize()
생성하는 반면 (어디서나 실행할 수 있으며 동일한 결과를 생성 함 ) 상대 용어로 절대 경로를 생성합니다 (원하는 상대 경로에서 실행해야 함). 절대 결과를 계산하십시오).
문서에서 :
resolve를 생각하는 또 다른 방법은 셸에서 일련의 cd 명령을 사용하는 것입니다.
설명서에서 path.resolve 및 path.normalize 에 대한 링크 . 나는 대부분 대답에 링크를 제공하고 싶지 않지만 Node.js 문서는 매우 괜찮습니다.
'Development Tip' 카테고리의 다른 글
Spyder / IPython / matplotlib에서 대화 형 플롯을 다시 얻으려면 어떻게해야합니까? (0) | 2020.10.04 |
---|---|
ReferenceError를 던지는 Gulp-autoprefixer : Promise가 정의되지 않았습니다. (0) | 2020.10.04 |
Symfony 2 양식 요소에 오류 추가 (0) | 2020.10.04 |
405 메서드가 허용되지 않는 웹 API (0) | 2020.10.04 |
내부 클래스의 공용 대 내부 메서드 (0) | 2020.10.04 |