os(Operating System)
- 운영체제 정보를 담고 있음.
- module은 require로 가져온다. (내장 모듈이기 때문에 경로 대신 이름만 적어도 됨.)
- 노드 공식 홈페이지 Docs에서 다양한 api를 확인할 수 있다.
const os = require('os');
ex
console.log(os.cpus)
path
- 폴더와 파일의 경로를 쉽게 조작할 수 있게 도와주는 모듈
- 운영체제마다 파일 경로를 지정하는 방식이 다르기 때문에 path 모듈을 사용하여 알아서 경로를 설정할 수 있게 만듬.
- API 참고
const path = require('path');
Join과 Resolve의 차이
path.join(__dirname, 'var.js')
path.join('/a','/b','c')
path.resolve('/a','/b','c')
join
- join은 '/'를 상대 경로로 처리한다.
- 상대경로 : 현재 파일의 위치 기준, 같은 경로면 점 하나(.), 한 단계 상위 경로면 점 두개(..)
resolve
- resolve는 '/'를 절대 경로로 처리한다.
- 절대경로 : 루트 폴더나 노드 프로세스가 실행되는 위치 기준
nomalize, isAbsolute, relative
nomalize
- 역슬래시, 슬래시로 난잡하게 표현된 경로를 올바른 문법으로 정리해줌.
console.log(path.normalize('C://users\\\\ryan\\pathEx.js)
isAbsolute
- 절대경로인지 아닌지 판단하여 boolean값을 반환
path.isAbsolute('C:\\')
path.isAbsolute('./path.js') result > false
relative
path.relative('C:\\users\\ryan\\pathEx.js','C:\\')
\\와 \차이는 윈도우 경로 구분자,
\\는 자바스크립트 문자열 안에서 사용('\'가 특수문자이기 때문에 \\로 이스케이프)