내장 모듈

✒️ 2025-05-26 14:18 내용 수정

Node.js 교과서 개정 3판 내용 정리 추가


fs 모듈

// 파일 시스템 모듈 가져오기
const fs = require('fs');

// 현재 명령어를 실행하는 콘솔 기준 디렉터리의 파일 읽어오기 - 배열로 반환됨
let fileList = fs.readdirSync('.');
console.log(fileList);

// 파일 리스트를 텍스트에 한 줄씩 작성
let text = '';
fileList.forEach((el) => {
    text += el + '\n';
})

// 파일 생성
fs.writeFileSync('test.txt', text);
// 파일 이름 변경
fs.renameSync('test.txt', 'newTest.txt');
// 파일 삭제
fs.unlinkSync('newTest.txt');
메서드 설명
readFile() 파일을 읽어옴
writeFile() 파일 생성
access() 폴더나 파일에 접근 가능한지 확인
권한이 없으면 에러 발생
mkdir() 폴더 생성(리눅스의 mkdir와 동일)
이미 폴더가 있으면 에러 발생. access로 먼저 체크 필요
open() 파일의 아이디를 가져옴
파일이 없으면 파일을 생성하고 아이디를 가져옴
rename() 파일 이름 변경
readdir() 폴더 내의 내용물 확인(리눅스의 ls와 유사). 배열로 반환됨
unlink() 파일 삭제
rmdir() 폴더 제거
폴더 안에 파일들이 있으면 에러 발생
// fs 모듈
const fs = require('fs');

// 파일 읽어오기
fs.readFile('./파일이름', (error, data) => {
	// callback함수 내용
	if (eeror) { // 에러가 생기면
		throw error;
	}
	console.log(data);
});

// 파일 작성하기
fs.writeFile('./파일이름', '작성내용', (error) => {
	// callback 함수
});

// 파일 접근 가능 확인
// constant.F_OK : 파일 존재 여부
// constant.R_OK : 읽기 권한 여부
// constant.W_OK : 쓰기 권한 여부
fs.access('파일이름', 옵션, callbackFn); // 권한이 없으면 에러 발생

// 폴더 생성
fs.mkdir('경로이름', callback); // 이미 폴더가 있으면 에러 발생. access로 먼저 체크

// 파일 아이디
// w : 파일 작성
// r : 파일 읽기
// a : 기존 파일에 추가
fs.open('파일이름', 옵션, callback);

// 파일 이름 변경
fs.rename('원본경로/이름', '새경로/이름', callbackFn);

// 파일 삭제
fs.unlink('파일이름', callbackFn);

// 폴더 내용물 확인
fs.readdir('경로이름', callbackFn);

// 폴더 삭제
fs.rmdir('경로이름', callbackFn);
// 동기 처리
console.log(1);
let result1 = fs.readFileSync('./test.txt', 'utf8'); // readFileSync로 동기 메서드
console.log(result1);
console.log(3);

// 비동기 처리
console.log('------async-----');
console.log(1);
fs.readFile('./test.txt', 'utf8', (error, result) => { // readFile로 비동기 메서드
    console.log(result);
});
console.log(3);

OS 모듈

// 컴퓨터 스펙 확인을 위한 모듈 가져오기
const os = require('os');
console.log(os.cpus()); // 컴퓨터의 core 정보 확인
메서드 설명
os.arch() 프로세서 아키텍처(x64, arm 등)
os.platform() 운영체제의 플랫폼 정보(win32, linux 등)
os.type() 운영체제 종류
os.uptime() 운영체제 부팅 후 흐른 시간(초)
os.hostname() 컴퓨터 이름
os.homedir() 홈 디렉터리 경로
os.tmpdir() 임시 저장 파일 디렉터리 경로
os.cpus() 컴퓨터의 코어 정보
os.freemem() 사용 가능한 메모리(RAM)
os.totalmem() 전체 메모리 용량