파일 읽기
Coddy Node.js 여정의 Node.js 기초 섹션에 포함된 레슨. 24개 중 10번째.
매번 실행할 때마다 같은 세 개의 메모로 시작합니다. 메모가 메모리에만 저장되기 때문입니다.
node:fs의 readFileSync(path, 'utf8')는 파일을 문자열로 읽습니다. 메모 파일에는 JavaScript 배열과 객체처럼 작성된 데이터 형식인 JSON이 들어 있으며, JSON.parse는 해당 텍스트를 배열로 변환합니다. 존재하지 않는 파일을 읽으면 ENOENT 오류가 발생하므로 먼저 existsSync로 확인하세요.
import { existsSync, readFileSync } from 'node:fs';
const scores = existsSync('scores.json')
? JSON.parse(readFileSync('scores.json', 'utf8'))
: [];
console.log(scores.length);'utf8'을 지정하지 않으면 문자열 대신 파일의 원시 바이트인 Buffer를 얻게 됩니다.
챌린지
쉬움store.js는 고정된 목록 대신notes.json에서 메모를 불러옵니다.notes.json이 없으면 저장소는 비어 있는 상태로 시작하고,list는No notes yet를 출력합니다.
node notes.js list를 실행하세요. 그런 다음 파일을 삭제하는 node notes.js clear를 실행하고, 다시 list를 실행하세요. 파일 재설정을 하면 파일이 다시 나타납니다.
직접 해보기
// 이 목록 대신 notes.json에서 메모를 불러오세요.
const store = {
notes: ['Buy milk', 'Call Ada', 'Water the plants'],
add(text) {
this.notes.push(text);
return this.notes.length;
},
};
export default store;
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.