본문 바로가기

Programming/Node.js

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

node js logo image

 

 

 

 

○ path

 

path 모듈은 폴더, 파일 경로를 다루는 데 사용하는 모듈입니다. 경로에서 파일 이름 또는 확장자만 따로 분리해서 사용할 수 있게 해주는 등의 기능을 갖고 있기 때문에, 상황에 따라서 유용하게 사용할 수 있습니다. 

 

특히, 사소한 것 같지만 OS에 따라서 경로 구분자가 다르다는 점도 path 모듈의 필요성을 만드는데 일조합니다. 윈도 타입일 경우 우리가 잘 아는 ' \ '가 사용되지만, POSIX 타입 - 즉 유닉스 기반의 운영체제인 맥과 리눅스의 경우 ' / '가 사용됩니다. 

 

이번에도 역시 아래와 같이 예제를 살펴보고, 결과를 보겠습니다. 각 함수에 대한 자세한 설명은 다음 아티클에서 계속 진행하겠습니다. 

 

 

const path = require('path');
const string = __filename;

console.log('path.sep:', path.sep); 
console.log('path.delimiter:', path.delimiter); 
console.log('-----'); 

console.log('path.dirname():', path.dirname(string)); 
console.log('path.extname():', path.extname (string)); 
console.log('path.basename():', path.basename(string)); 
console.log('path.basename extname:', path.basename(string, path.extname(string))); 
console.log('-----'); console.log('path.parse()', path.parse(string)); 

console.log('path.format():', path.format({ dir: 'C:\\users\\nozerolsope', name: 'path', ext: '.js', })); 
console.log('path.normalize():', path.normalize('C://users\\\\nozerolsope\\\path.js'));
console.log('-----');

console.log('path.isAbsolute(C:\\):', path.isAbsolute('C:\\'));
console.log('path.isAbsolute(./home):', path.isAbsolute('./home'));
console.log('-----');

console.log('path.relative():', path.relative('C:\\users\\nozerolsope\\path.js', 'C:\\'));
console.log('path.join():', path.join(__dirname, '. .', '. .', '/users', '.', '/nozerolsope'));
console.log('path.resolve():', path.resolve(__dirname, '. .', 'users', '.', '/nozerolsope'));




/* 출력
path.sep: \
path.delimiter: ;
-----
path.dirname(): D:\XXX\XXXXXXX
path.extname(): .js
path.basename(): example.js
path.basename extname: example
-----
path.parse() {
  root: 'D:\\',
  dir: 'D:\\XXX\\XXXXX',
  base: 'example.js',
  ext: '.js',
  name: 'example'
}
path.format(): C:\users\nozerolsope\path.js
path.normalize(): C:\users\nozerolsope\path.js
-----
path.isAbsolute(C:\): true
path.isAbsolute(./home): false
-----
path.relative(): ..\..\..
path.join(): D:\XXX\XXXXX\. .\. .\users\nozerolsope
path.resolve(): D:\nozerolsope
*/