Node 내장 모듈 - os와 path

김무연·2023년 12월 11일

Backend

목록 보기
16/49

os

운영 체제의 정보를 담고 있음

  • 모듈은 require로 가져옴 (내장 모듈이라 경로 대신 이름만 적어줘도 됨)
const os = require('os');

console.log('운영체제 정보---------------------------------');
console.log('os.arch():', os.arch());
console.log('os.platform():', os.platform());
console.log('os.type():', os.type());
console.log('os.uptime():', os.uptime());
console.log('os.hostname():', os.hostname());
console.log('os.release():', os.release());

console.log('경로------------------------------------------');
console.log('os.homedir():', os.homedir());
console.log('os.tmpdir():', os.tmpdir());

console.log('cpu 정보--------------------------------------');
console.log('os.cpus():', os.cpus());
console.log('os.cpus().length:', os.cpus().length);

console.log('메모리 정보-----------------------------------');
console.log('os.freemem():', os.freemem());
console.log('os.totalmem():', os.totalmem());

자세한 명령어와 설명은 공식 홈페이지 참조
=> https://nodejs.org/dist/latest-v21.x/docs/api/os.html

path

경로 처리할 때 중요함

윈도우 경로 : C:\users\zerocho, C:\users\zerocho
리눅스, 맥 경로 : /users/zerocho

와 같이 경로가 서로 다르게 된다. 이럴 때 운영체제마다 분기처리를 하기는 번거로우니 path를 많이 쓰게 된다

//dirname과 var.js를 합친 주소를 반환해줌
path.join(__dirname, 'var.js');



path.resolve(__dirname, '', '/var.js');

window면 \nodejs-book\lecture\var.js
리눅스, 맥이면 /nodejs-book/lecture/var.js
자동으로 변환해서 주소를 합쳐줌

resolve는 절대 경로를 존중하기 때문에 앞의 dirname등이 무시 되고, 절대경로 + /var.js가 출력이됨

join과 resolve의 차이

  • resolve는 /를 절대경로로 처리, join은 상대 경로로 처리
  • 상대 경로 : 현재 파일 기준. 같은 경로면 점 하나(.), 한 단계 상위 경로 점 두개
    (..)
  • 절대 경로 : 루트 폴더나 노드 프로세스가 실행되는 위치가 기준

자세한 코드와 설명은 공식 문서 참조
=> https://nodejs.org/dist/latest-v21.x/docs/api/path.html

profile
Notion에 정리된 공부한 글을 옮겨오는 중입니다... (진행중)

0개의 댓글