Path
Aug 7, 2021
»
path
미수정본은 노션에 저장 |
path모듈이란?
파일/폴더/디렉토리 등의 경로를 편리하게 설정할 수 있는 기능을 제공한다
모듈 추출
ndoe의 내장 모듈이므로 따로 설치가 필요없음
const path = require("path");
- 1. path.sep
-
“현 운영체제의 경로 구분자” 확인 - 맥 /, 윈도우 \
console.log('path.sep:', path.sep);
// path.sep: /
- 2. path.dirname(‘파일경로.확장자’)
-
“파일이 위치한 폴더경로” 확인
console.log(path.dirname(__filename));
// /Users/curryyou/dev/VS_Code_Projects/TestProject
- 3-1. path.basename(‘파일경로.확장자’)
-
“파일명.확장자” 확인
console.log(path.basename(__filename));
// test.js
- 3-2. path.basename(‘파일경로.확장자’, ‘.확장자’)
-
“파일 이름(확장자 제거)” 확인
console.log(path.basename(__filename, '.js'));
// test
- 4. path.extname(‘파일경로.확장자’)
-
“확장자” 확인
console.log(path.extname(__filename));
// .js
- 5. path.parse(__filename)
-
파일을 root(루트경로), dir(디렉터리경로), base(파일명.확장자), ext(.확장자), name(파일명) 으로 파싱한 객체 생성
console.log(path.parse(__filename));
/*
{
root: '/',
dir: '/Users/curryyou/dev/VS_Code_Projects/TestProject',
base: 'test.js',
ext: '.js',
name: 'test'
}
*/
- 6. path.format(객체)
-
파싱된 파일 경로 객체를 다시 ‘문자열’로 합침
console.log(path.format(path.parse(__filename)));
// path.parse(__filename)로 파싱한 객체를 parth.format()으로 문자열로 변환// /Users/curryyou/dev/VS_Code_Projects/TestProject/test.js
- 7. path.normalize(‘경로’)
-
//나 \ 등으로 경로 구분자를 잘못 사용해도, 알아서 정상 경로로 변환해줌
console.log(path.normalize('/user///hello/////ok/index.js'));
// /user/hello/ok/index.js
********* 아래 메서드는 자주 사용 *********
- 8. path.join(‘경로’, ‘경로’, …)
-
여러개의 경로를 알아서 합쳐줌
-
상위경로(..), 현재경로(.)도 알아서 처리
-
중간에 /를 만나면 앞의 경로에 이어서 ‘상대경로’로 처리
console.log(path.join(__dirname, '/a/b', '..', './b', 'c', '/d'));
// /Users/curryyou/dev/VS_Code_Projects/TestProject/a/b/c/d
- 9. path.resolve(‘경로’, ‘경로’, …)
-
여러개의 경로를 알아서 합쳐줌
-
상위경로(..), 현재경로(.)도 알아서 처리
-
join()과 차이점: 중간에 /를 만나면 앞에 경로 다 무시하고, ‘맨 처음부터’ 다시 시작
console.log(path.resolve(__dirname, '/a/b', '..', './b', 'c', '/d'));
// /d