2017. 11. 13. 13:11ㆍJavaScript/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 참조...ㅋ
'JavaScript > NodeJS' 카테고리의 다른 글
[NodeJS] 서버 만들기(HTTP Server) - 1 (0) | 2017.11.27 |
---|---|
[NodeJS] File System (0) | 2017.11.16 |
[NodeJS] Event 활용 - 연결 및 제거 (0) | 2017.11.10 |
[NodeJS] 모듈, 캐싱 그리고 exports (0) | 2017.11.08 |
[NodeJS] Callback Function, Blocking Code, Non-Blocking Code (0) | 2017.11.07 |