Menulis file
Termasuk bagian Dasar-Dasar Node.js dalam perjalanan Node.js di Coddy. Pelajaran 14 dari 33.
add melupakan catatan begitu program berakhir.
writeFileSync(path, text) menulis file, mengganti semua isi sebelumnya. JSON.stringify mengubah array menjadi teks JSON, dan null, 2 mengindentasinya dengan dua spasi agar mudah dibaca di Files.
import { writeFileSync } from 'node:fs';
const scores = [12, 40];
scores.push(31);
writeFileSync('scores.json', JSON.stringify(scores, null, 2));File selalu berisi seluruh array: muat catatan, tambahkan satu, lalu tulis semuanya kembali. Di store.js, add adalah method dari object store. Di dalam method, this adalah object itu sendiri, jadi this.notes adalah array milik store. Mengirim array itu sendiri akan memicu error, karena file menyimpan teks.
Tantangan
MudahLangkah ini membuka proyek alat command-line notes yang telah disiapkan untuk kursus, bukan file proyekmu dari Membaca File (termasuk store.js). Pekerjaanmu sebelumnya tetap berada di pelajarannya sendiri. Baca file yang disediakan sebelum mengedit store.js. Salinan ini berisi alat notes yang membaca file.
add masih melupakan note saat program berakhir. Buat agar alat ini menyimpan setiap note ke notes.json, sehingga list menampilkannya saat dijalankan lagi.
- Di
store.js, setelahaddmemasukkan note baru ke dalam array, tulis seluruh array kembali kenotes.jsonsebagai JSON. Tulis setiap note, bukan hanya yang baru: penulisan file mengganti semua isi yang sudah ada di dalamnya. Beri indentasi JSON sebanyak dua spasi agar mudah dibaca di Files. - Di
notes.js, pada percabanganadd, ganti baris yang mencetakAdding: .... Sekarang, baris itu hanya mencetakSaved note, nomor note baru, dan tanda titik. Dengan dua note yang menjadi isi awalnotes.json,node notes.js add Buy breadmencetak:danSaved note 3.notes.jsonkemudian berisi:[ "Buy milk", "Call Ada", "Buy bread" ] - Jika tidak ada
notes.json,addakan membuatnya. Setelahclear,node notes.js add Call AdamencetakSaved note 1., lalulistmenampilkan1. Call Ada.
Coba: ketik add Buy bread di kotak setelah $ node notes.js, lalu tekan Enter. Kamu akan melihat Saved note 3.. Ketik list: Buy bread sekarang menjadi note nomor 3, meskipun ini adalah proses jalankan yang baru. Buka notes.json di Files untuk melihat array yang tersimpan. Lalu ketik clear untuk menghapus file, kemudian add Call Ada: kamu akan melihat Saved note 1..
Coba sendiri
import { existsSync, readFileSync } from 'node:fs';
const file = 'notes.json';
const store = {
notes: existsSync(file) ? JSON.parse(readFileSync(file, 'utf8')) : [],
add(text) {
this.notes.push(text);
return this.notes.length;
},
};
export default store;
Semua pelajaran di Dasar-Dasar Node.js
1Menjalankan JavaScript di Node
Halo, NodeMembaca PerintahArgumen Baris PerintahPerintah5Peristiwa, Input, dan Package
Dengarkan Sebelum MengirimkanPemancar PeristiwaMembaca InputLatihan sendiri: Playground Express