-
노드 os와 path노드 2023. 4. 11. 17:21
OS
운영체제의 정보를 담고 있다.
모듈은 require로 가져온다. (내장 모듈이라 경로 대신 이름만 적어줘도 된다.)
간단히 os 모듈 메서드를 소개하자면 다음과 같다
- os.arch() : process.arch와 동일하다.
- os.platform() : process.platform 과 동일하다.
- os.type() : 운영체제의 종류를 보여준다.
- os.uptime() : 운영체제 부팅 이후 흐른 시간(초)을 보여준다.
- os.hostname() : 컴퓨터의 이름을 보여준다.
- os.release() : 운영체제의 버전을 보여준다.
- os.homedir() : 홈 디렉터리 경로를 보여준다.
- os.tmpdir() : 임시 파일 저장 경롤르 보여준다.
- os.cpus() : 컴퓨터의 코어 정보를 보여준다.
- os.freemem() : 사용 가능한 메모리 (RAM)를 보여준다.
- os.totalmem() : 전체 메모리 용량을 보여준다.
Path
폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈이다. 보통 아래와 같이 많이 쓴다
//path.js const path = require('path');
운영체제별로 경로 구분자가 다르다. (Windows:\, POSIX : /) *맥과 리눅스를 합쳐서 POSIX라 한다.
이렇게 os에 따라서 경로를 표시하는 것이 중구 난방이기 때문에 편하게 path로 처리하면 간편하다.
const path = require('path'); console.log(path.join(__dirname, 'var.js'));
알아둬야할 path 관련 정보
join과 resovle의 차이 :
resolve는 / 를 절대경로로 처리, join은 상대결로로 처리한다.
상대 경로 : 현재 파일 기준. 같은 경로면 점 하나(.), 한 단계 상위 경로면 점 두 개(..)
절대 경로는 루트 폴더나 노드 프로세스가 실행되는 위치가 기준이다.
//path.js const path = require('path'); console.log(path.join(__dirname, '/var.js')); console.log(path.resolve(__dirname, '/var.js'));
출력문을 확인해보면 join은 절대 경로를 따르고 resolve는 상대 경로를 따른다.
\\와 \ 차이 :
\는 윈도 경로 구분자이다.
\\는 자바스크립트 문자열 안에서 사용(\가 특수문자라 \\로 이스케이프 해준 것이다).
윈도우에서 POSIX path를 쓰고 싶다면 :
- path.posix 객체 사용하면 된다.
- POSIX에서 윈도 path를 쓰고 싶다면 : path.win32 객체를 사용하면 된다.
'노드' 카테고리의 다른 글
노드 crypto 와 util (0) 2023.04.12 노드 url, dns, searchParams (0) 2023.04.11 노드 process (0) 2023.04.11 노드 내장 객체 global, console, 타이머 (0) 2023.04.11 노드 ECMAScript 모듈, 다이나믹 임포트, top level await (0) 2023.04.11