Menu
CoddyTech

Membaca file

Termasuk bagian Dasar-Dasar Node.js dalam perjalanan Node.js di Coddy. Pelajaran 12 dari 33.

Setiap kali dijalankan, program dimulai dengan tiga catatan yang sama karena catatan tersebut hanya tersimpan di memori.

readFileSync(path, 'utf8') dari node:fs membaca file sebagai string. File catatan berisi JSON, format teks untuk data yang ditulis seperti array dan object JavaScript. JSON.parse mengubah teks tersebut menjadi array. Membaca file yang tidak ada akan memunculkan error ENOENT, jadi periksa terlebih dahulu dengan existsSync. Contoh ini menggunakan condition ? a : b, yang memberikan a saat kondisi bernilai true dan b saat kondisi bernilai false.

import { existsSync, readFileSync } from 'node:fs';

const scores = existsSync('scores.json')
    ? JSON.parse(readFileSync('scores.json', 'utf8'))
    : [];
console.log(scores.length);

Tanpa 'utf8', kamu akan mendapatkan Buffer, yaitu byte mentah file, bukan string.

challenge icon

Tantangan

Mudah

Langkah ini membuka proyek alat baris perintah notes yang sudah disiapkan untuk kursus, bukan file proyekmu dari CommonJS Modules (termasuk legacy/stats.cjs). Pekerjaanmu sebelumnya tetap berada di pelajarannya sendiri. Baca file yang disediakan sebelum mengedit store.js. Salinan ini berisi semua perintah sejauh ini, ditambah perintah baru clear.

Saat ini, setiap kali dijalankan, program dimulai dengan tiga notes yang sama dan ditulis di store.js. Notes-mu seharusnya berasal dari sebuah file: notes.json, yang bisa kamu buka di Files.

  1. Di store.js, ganti daftar tetap berisi tiga notes. notes milik store harus menyimpan array yang disimpan di notes.json: baca file sebagai teks, lalu ubah teks JSON menjadi array.
  2. Jika notes.json tidak ada, store dimulai dengan array kosong, bukan berhenti dengan error. Periksa apakah file tersebut ada sebelum membacanya.

notes.json dimulai dengan dua notes, jadi node notes.js list menampilkan:

Notes for you
1. Buy milk
2. Call Ada

Jika notes.json tidak ada, program menampilkan:

Notes for you
No notes yet

Kamu hanya mengubah store.js. notes.js sudah menampilkan No notes yet saat store kosong.

Coba: ketik list di kotak setelah $ node notes.js, lalu tekan Enter. Kamu akan melihat dua notes dari file. Kemudian, ketik clear. Perintah ini sudah ada di notes.js: perintah ini menghapus notes.json dan menampilkan Deleted notes.json. Ketik list lagi: kamu akan melihat No notes yet. Sebelum menekan Periksa, tekan Atur ulang file untuk mengembalikan notes.json, karena pemeriksaan membutuhkannya.

Coba sendiri

// Muat catatan dari notes.json, bukan dari list ini.
const store = {
    notes: ['Buy milk', 'Call Ada', 'Water the plants'],
    add(text) {
        this.notes.push(text);
        return this.notes.length;
    },
};

export default store;
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar Node.js

Latihan sendiri: Playground Express