본문 바로가기
node JS/2. 노드 내장 모듈

path : 노드 내장 모듈

by 혀닙 2022. 3. 15.

목차

  1. path모듈이란?
  2. 모듈가져오기
  3. path모듈 사용하기(자주 쓰는 속성과 메서드들)
  4. join() 메서드와 resolve() 메서드 차이

 

 


 

 

#1.  path 모듈이란?

  • 폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈
  • 운영체제별로 구분자가 다르기 때문에 필요한 모듈

 

[참고] 경로 표현에 따른 운영체제 분류(크게 윈도타입과 POSIX 타입으로 구분)

  • 윈도: C:\Users\workspace
  • POSIX: /home/workspace

 

#2. 모듈 가져오기

const paht = require('path')

 

 

#3. path 모듈 사용하기

3-1. 자주 쓰이는 속성

1-1) 경로의 구분자 확인

path.sep	// 윈도우는 \, POSIX는 /

 

1-2) 윈도우즈에서 POSIX 스타일 경로 반환하기

path.posix.sep	// \반환

 

1-3) POSIX에서 윈도우즈 스타일 경로 반환하기

console.log(path.posix.sep)	// /반환

 

 

 

2) 환경 변수의 구분자 확인

path.delimiter	// 윈도는 ; POSIX는 :

 

[참고] 환경변수 PATH를 콘솔창에 찍어보면 여러 개의 경로가 2)로 확인한 구분자로 구분되어 있음을 알 수 있다.

console.log( process.env.PATH )

 


 

3-2. 자주 쓰이는 메서드-인자값이 문자열(string)

1) dirname() 메서드

  • 파일이 위치한 디렉토리 경로 확인
path.dirname(경로)

[작성 예시]

path.dirname('/Users/apple/Documents/workspace/path.js')

// /Users/apple/Documents/workspace

 

2) extname() 메서드

  • 파일의 확장자 확인
path.extname(경로)

[작성 예시]

path.extname('server.js')	//js(확장자명) 반환

 

3)basename() 메서드

  • 파일의 이름(확장자 포함)을 표시
  • 파일의 이름만 표시하고 싶다면 두번째 인자값으로 파일의 확장자 작성하면됨
path.basename(경로, 확장자)

[사용 예시]

path.basename('/Users/apple/Documents/workspace/path.js')
//path.js 반환
path.basename('/Users/apple/Documents/workspace/path.js',path.extname('path.js'))
//path


path.basename('/Users/apple/Documents/workspace/path.js','js')
//path.	
//2번의 인자값인 js 제외하고 나옴


path.basename('/Users/apple/Documents/workspace/path.js','.js')
//path

 

4) format()메서드

  • path.parse()한 객체를 파일경로로 합침
path.format(객체)
let pathFormat = path.format({
    dir: '/Users/apple/Documents/workspace',
    name: 'path',
    ext: '.js'
})

console.log(pathFormat)	//  반환 : /Users/apple/Documents/workspace/path.js

 

 

5) isAbsolute()메서드

  • 파일의 절대/상대 경로 여부 확인
  • 절대경로일 경우 값은 true
  • 상대경로일 경우 값은 false
path.isAbsolute(경로)

 

6) join() 메서드

  • 인자값을 넣어서 하나의 경로로 합침
  • 경로를 상대경로로 처리해서 앞의 경로를 존중함
  • 다음에 오는 인자값에 절대 경로가 있는 경우 조인은 절대 경로를 무시
path.join()
console.log(path.join(__dirname,'path.js'))

//	/Users/cherry/Documents/workspace/path.js

 

7) resolve() 메서드

  • 경로를 절대경로로 인식해서, 앞의 경로를 무시 (절대 경로를 제외한 나머지가 확인)
path.resolve(__dirname,'path.js')
/	//Users/cherry/Documents/workspace/path.js

 

#4 join() 메서드와 resolve() 메서드의 차이점

  • 뒤에 오는 인자값에 '/' 넣게 되면 결과 값 달라짐
let dir1 = path.join(__dirname,'/path.js')
console.log(dir1)
// /Users/cherry/Documents/workspace/path.js 


let dir2 = path.resolve(__dirname,'/path.js')
console.log(dir2)
// /path.js

 

join() 메서드  resolce() 메서드
경로를 상대경로로 처리해서 앞의 경로를 존중함
다음에 오는 인자값에 절대 경로가 있는 경우 조인은 절대 경로를 무시
경로를 절대경로로 인식해서, 앞의 경로를 무시
절대 경로를 제외한 나머지 반환
인자값을 넣어서 하나의 경로로 합침

 

 

 

 

'node JS > 2. 노드 내장 모듈' 카테고리의 다른 글

fs(file system): 노드 내장모듈  (0) 2022.06.20
os : 노드 내장 모듈  (0) 2022.03.15

댓글