Development Tip

Node.js에서 path.normalize와 path.resolve의 차이점

yourdevel 2020. 10. 4. 13:36
반응형

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.resolvepath.normalize 에 대한 링크 . 나는 대부분 대답에 링크를 제공하고 싶지 않지만 Node.js 문서는 매우 괜찮습니다.

참고 URL : https://stackoverflow.com/questions/10822574/difference-between-path-normalize-and-path-resolve-in-node-js

반응형