Dosya Yazma
Coddy'nin Node.js Journey'sinin Node.js Temelleri bölümünün bir parçası. Ders 14 / 33.
add, program biter bitmez notu unutur.
writeFileSync(path, text) bir dosyaya yazar ve dosyada bulunan her şeyin yerine yenisini koyar. JSON.stringify bir diziyi JSON metnine dönüştürür; null, 2 ise Files'ta kolayca okunabilmesi için metni iki boşluk girintiler.
import { writeFileSync } from 'node:fs';
const scores = [12, 40];
scores.push(31);
writeFileSync('scores.json', JSON.stringify(scores, null, 2));Dosyaya her zaman dizinin tamamı yazılır: notları yükle, bir tane ekle, hepsini geri yaz. store.js içinde add, store nesnesinin bir yöntemidir. Bir yöntemin içinde this, nesnenin kendisidir; bu nedenle this.notes, store'un dizisidir. Dizinin kendisini iletmek hata verir, çünkü bir dosya metin tutar.
Görev
KolayBu adım, Bir Dosyayı Okuma dersindeki proje dosyalarınız yerine, kurs için hazırlanmış not komut satırı aracı projesini açar (store.js dâhil). Önceki çalışmalarınız kendi dersinde kalır. store.js dosyasını düzenlemeden önce sağlanan dosyaları okuyun. Bu kopya, dosya okuma özelliğine sahip not aracını içerir.
add program sona erdiğinde notu hâlâ unutuyor. Her notu notes.json dosyasına kaydetmesini sağlayın; böylece sonraki çalıştırmada list notu gösterir.
store.jsdosyasında,addyeni notu diziye ekledikten sonra dizinin tamamını JSON olaraknotes.jsondosyasına yazın. Yalnızca yeni notu değil, her notu yazın: bir dosyaya yazmak, dosyada bulunan her şeyin yerini alır. JSON'u iki boşluk girintili yazın; böylece Files uygulamasında okunması kolay olur.notes.jsdosyasında,adddalında,Adding: ...çıktısını veren satırı değiştirin. Artık yalnızcaSaved note, yeni notun numarası ve nokta yazdırılır.notes.jsondosyasındaki iki notlanode notes.js add Buy breadkomutu şunu yazdırır:ve ardındanSaved note 3.notes.jsonşunu içerir:[ "Buy milk", "Call Ada", "Buy bread" ]notes.jsonyoksaaddonu oluşturur.clearkomutundan sonranode notes.js add Call AdakomutuSaved note 1.yazdırır velistkomutu ardından1. Call Adagösterir.
Deneyin: $ node notes.js ifadesinden sonraki kutuya add Buy bread yazıp Enter tuşuna basın. Saved note 3. çıktısını görürsünüz. list yazın: yeni bir çalıştırma olmasına rağmen Buy bread artık 3. nottur. Kaydedilen diziyi görmek için Files uygulamasında notes.json dosyasını açın. Ardından dosyayı silen clear komutunu, sonra da add Call Ada komutunu yazın: Saved note 1. çıktısını görürsünüz.
Kendin dene
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;
Node.js Temelleri bölümündeki tüm dersler
1JavaScript’i Node Üzerinde Çalıştırma
Merhaba, NodeKomutu OkumaKomut Satırı ArgümanlarıKomutlarKendi başına pratik yap: Express playground