[NodeJS] Path

2017. 11. 13. 13:11JavaScript/NodeJS

path 모듈 로딩 필요


var path = require("path");


path모듈은 Windows와 POSIX에서의 결과가 다르게 나타난다.


POSIX : 


path.basename("D:\\temp\\out.log");

==> output : D:\temp\out.log


WINDOWS :


path.basename("D:\\temp\\out.log");

==> output : out.log


운영체제에 따라 위와 같이 다른 결과가 나타난다.


이러한 문제점을 해결하기 위해 일관된 결과를 얻고자 할 경우에는 다음과 같이 한다.


Windows 에서 출력되는 것 처럼 하고자 할 경우


path.win32.basename("D:\\temp\\out.log");

==> out.log


POSIX에서 출력되는 것 처럼 하고자 할 경우


path.posix.basename("D:\\temp\\out.log");

==> output : D:\temp\out.log





1. path.basename(경로 [, 파일확장자(선택사항)])


경로의 마지막 부분 반환한다.


path.basename("D:\\temp\\out.log");

==> output : out.log


path.basename("D:\\temp\\out.log", ".log");

==> output : out



2. path.dirname(경로)


디렉토리명을 반환한다.


path.dirname("D:\\temp\\logs\\20171113\\out.log");

==> output : D:\temp\logs\20171113




3. path.extname(경로)


파일의 확장자 명을 출력한다.


path.extname('index.html');

==> output : '.html'


path.extname('index.coffee.md');

==> output : '.md'


path.extname('index.');

==> output : '.'


path.extname('index');

==> output : ''


path.extname('.index');

==> output : ''



4. path.parse(경로)


경로를 구성하고 있는 중요 요소를 출력한다.


path.parse('/home/user/dir/file.txt');

==> output : 

{ root: '/',

   dir: '/home/user/dir',

   base: 'file.txt',

   ext: '.txt',

   name: 'file' }


위의 예제 말고도 path.normalize, path.join ([... paths]), path.isAbsolute (path), path.format (pathObject), path.delimiter 이 더 있다.

그런데 잘 쓸거 같지 않아서 넘어간다.


필요 시 API 참조...ㅋ