Node Modules 1 - os, process, path

정형진·2022년 12월 24일
0

Node.js Basics

목록 보기
1/2
post-custom-banner

os

const os = require('os');

os.cpus(); // 각 cpu 논리 코어의 배열 반환.
os.EOL; // 각 운영체제별 줄바꿈 스트링 반환. 맥은 "\n", 윈도우는 "\r\n".

주로 서버가 동작하고 있는 시스템 환경에 대한 정보를 얻어오고 싶을 때 사용하는 모듈이다.

process

const process = require('process');

process.execPath; // 노드가 저장된 디렉토리 반환.
process.version; // 노드 버전 반환
const process = require('process');

setTimeout(() => console.log("setTimeout"), 0)
process.nextTick(() => console.log("nextTick")); // setTimeout보다 nextTick이 먼저 실행됨.

현재 동작하고 있는 노드 프로세스에 대한 정보를 얻을 수 있는 모듈이다. 그 중에서도 nextTick은 call stack이 모두 비워진 이후에 task queue가 실행되는 과정에서 가장 우선적으로 함수를 실행한다. 위 예제처럼 setTimeout 등 보다 우선적으로 실행된다.

path

const path = require('path');

console.log(__dirname); // 현재 노드가 실행되고 있는 디렉토리 반환.
console.log(__filename); // 현재 노드가 실행되고 있는 디렉토리를 파일 이름까지 포함하여 반환.

console.log(path.seq); // 시스템의 경로 구분자 반환.
console.log(path.delimiter); // 시스템의 환경 변수 구분자 반환.

console.log(path.basename(__filename)); // 노드가 실행된 파일 이름을 확장자 포함하여 반환.
console.log(path.basename(__filename, '.js')); // 두 번째 인자(확장자)를 제외하고 반환.

console.log(path.dirname(__filename)); // 전달 받은 파일명 스트링의 디렉토리 반환.
console.log(path.extname(__filename)); // 전달 받은 파일명 스트링의 확장자 반환.

const parsed = path.parse(__filename);
console.log(parsed); // 전달 받은 파일명 스트링의 오브젝트 형태로 상세한 정보 전달.

const str = path.format(parsed);
console.log(str); // 파싱된 오브젝트를 다시 스트링 형태로 포맷.

console.log(path.isAbsolute(__dirname)); // true
console.log(path.isAbsolute("../")); // false

console.log(path.normalize('./folder////text.txt')); // './folder/text.txt'

console.log(__dirname + path.sep + 'image'); // '/Users/hyeongjin/node/image'
console.log(path.join(___dirname, 'image')); // 위와 동일한 결과 반환

파일 경로에 대한 작업을 수행할 때 이용하게 되는 모듈로, 운영체제 별로 다른 패스 표기법을 작성할 수 있도록 다양한 메소드가 내장되어 있다.

profile
사실 나도 잘 모름
post-custom-banner

0개의 댓글