Node.js - 노드 내장 모듈(os,path)

ryan·2022년 5월 3일
0

os(Operating System)

  • 운영체제 정보를 담고 있음.
  • module은 require로 가져온다. (내장 모듈이기 때문에 경로 대신 이름만 적어도 됨.)
  • 노드 공식 홈페이지 Docs에서 다양한 api를 확인할 수 있다.
const os = require('os');
ex
console.log(os.cpus) // cpu 정보 totalmem > 총 메모리 freemem > 사용 가능 메모리

path

  • 폴더와 파일의 경로를 쉽게 조작할 수 있게 도와주는 모듈
  • 운영체제마다 파일 경로를 지정하는 방식이 다르기 때문에 path 모듈을 사용하여 알아서 경로를 설정할 수 있게 만듬.
  • API 참고
const path = require('path');

Join과 Resolve의 차이

path.join(__dirname, 'var.js') 

path.join('/a','/b','c') // result >> /a/b/c
path.resolve('/a','/b','c') // result >> /b/c

join

  • join은 '/'를 상대 경로로 처리한다.
    • 상대경로 : 현재 파일의 위치 기준, 같은 경로면 점 하나(.), 한 단계 상위 경로면 점 두개(..)

resolve

  • resolve는 '/'를 절대 경로로 처리한다.
    • 절대경로 : 루트 폴더나 노드 프로세스가 실행되는 위치 기준

nomalize, isAbsolute, relative

nomalize

  • 역슬래시, 슬래시로 난잡하게 표현된 경로를 올바른 문법으로 정리해줌.
console.log(path.normalize('C://users\\\\ryan\\pathEx.js) 
// result >> C:\users\ryan\pathEx.js

isAbsolute

  • 절대경로인지 아닌지 판단하여 boolean값을 반환
path.isAbsolute('C:\\') // result > true
path.isAbsolute('./path.js') result > false

relative

  • 매개변수 a에서 b로 가는 경로를 알려줌
path.relative('C:\\users\\ryan\\pathEx.js','C:\\') // result > ..\..\..
\\와 \차이는 윈도우 경로 구분자, 
\\는 자바스크립트 문자열 안에서 사용('\'가 특수문자이기 때문에 \\로 이스케이프)
profile
프론트엔드 개발자

0개의 댓글