본문 바로가기

Programming/Node.js

4. Node 기능 살펴보기 (4) - 노드 내장 모듈 4

node js logo image

 

 

 

앞선 아티클에서 path에 대해서 살펴보았는데, 다 언급하지 못한 내용들이 있어 보충하는 차원에서 좀 더 알아보겠습니다. 

 

 

 

4. Node 기능 살펴보기 (4) - 노드 내장 모듈 3

앞선 아티클에서 path 모듈에 대한 기본적인 내용을 살펴보았습니다. 앞의 내용을 바탕으로 path 모듈에서 사용하는 세부적인 구분자와 명령어들을 살펴보도록 하겠습니다. 4. Node 기능 살펴보기 (

nozeroslope.tistory.com

 

 

※ ' \\ '와 ' \ '를 사용하는 경우

 

콘솔에서 출력되는 결과를 보면 \\와 \가 혼용되는 경우가 있습니다. 기본적으로는 당연히 경로를 표시할 때 \ 하나를 사용하는 것이 정석입니다. 다만, Javascript에서 ' \ '는 특수 문자이기 때문에 \\를 사용하는 경우가 생기는 것입니다. 

 

예를 들어서, ' \n '은 JS에서 줄 바꿈을 의미하므로, [D:\node] 같은 경로를 표시할 때 혼선이 발생할 수 있겠죠? 그래서 이런 경우 명확한 표현을 위해 [D:\\node]라고 표시하는 경우가 생기는 것입니다. 물론, path 모듈을 사용하는 경우 이러한 이슈는 자동으로 처리됩니다. 

 

 

※ 상대경로와 절대경로

 

절대경로는 루트 폴더(윈도우의 C:\, POSIX의 /)나 노드 프로세스가 실행되는 위치가 기준이 됩니다. 상대경로는 현재 파일이 기준이 됩니다. 예를 들어, 현재 파일과 같은 경로를 의미할 때는 점 한 개를 사용하고(. ) 현재 파일보다 한 단계 상위 경로이면 점 두 개( .. )를 사용하죠. 

 

예를 들어 C:\temp\nozero\path.js에서 C:\로 가야할 경우 절대경로에서는 C:\를 입력하지만, 상대경로일 경우 ..\..를 입력해야 합니다. 

 

노드에서는 require.main 파일을 기준으로 상대경로를 인식하는데, 그래서 require.main 파일과 다른 폴더의 파일이 상대경로를 갖는다면 예상과 다르게 동작합니다. 따라서 이 문제는 추후 살펴볼 path 모듈을 통해 해결할 수 있습니다. fs모듈 아티클에서 살펴볼 예정입니다. 

 

참고로 시스템과 다르게 윈도우에서 POSIX를 쓰거나 반대일 경우도 존재하는데, 이럴 때는 윈도에서 path.posix.sep이나 path.posix.join( )과 같이 사용하면 됩니다. POSIX에서는 path.win32.sep이나 path.win32.join( )과 같이 사용하면 됩니다. 

 

 

현재는 예제가 많지 않아서 잘 와닿지 않을 수 있겠지만, path 모듈은 앞으로도 자주 사용될 모듈이니 다른 아티클에서 접하게 되면 다시 잘 살펴보도록 하겠습니다.