Dosya Okuma
Coddy'nin Node.js Journey'sinin Node.js Temelleri bölümünün bir parçası. Ders 12 / 33.
Her çalıştırma, yalnızca bellekte tutuldukları için aynı üç notla başlar.
readFileSync(path, 'utf8'), node:fs içinden bir dosyayı dize olarak okur. Bir not dosyası, JavaScript dizileri ve nesneleri gibi yazılan bir veri metin biçimi olan JSON içerir ve JSON.parse bu metni bir diziye dönüştürür. Var olmayan bir dosyayı okumak ENOENT hatası fırlatır; bu yüzden önce existsSync ile kontrol et. Örnekte, koşul doğru olduğunda a, yanlış olduğunda b değerini veren condition ? a : b kullanılır.
import { existsSync, readFileSync } from 'node:fs';
const scores = existsSync('scores.json')
? JSON.parse(readFileSync('scores.json', 'utf8'))
: [];
console.log(scores.length);'utf8' olmadan dize yerine, dosyanın ham baytları olan bir Buffer elde edersin.
Görev
KolayBu adım, CommonJS Modules içindeki proje dosyaların ( legacy/stats.cjs dâhil) yerine, kurs için hazırlanmış komut satırı aracı projesini açar. Önceki çalışmaların kendi dersinde kalır. store.js dosyasını düzenlemeden önce sağlanan dosyaları oku. Bu kopya, şimdiye kadarki tüm komutların yanı sıra yeni bir clear komutunu da içerir.
Şu anda her çalıştırma, store.js dosyasında yazılı aynı üç notla başlar. Notların bunun yerine bir dosyadan gelmeli: Files uygulamasında açabileceğin notes.json dosyasından.
store.jsiçinde, sabit üç notluk listeyi değiştir. Depodakinotes,notes.jsondosyasına kaydedilmiş diziyi içermeli: dosyayı metin olarak oku, ardından JSON metnini bir diziye dönüştür.notes.jsonyoksa depo, hata vererek durmak yerine boş bir diziyle başlamalı. Dosyayı okumadan önce mevcut olup olmadığını kontrol et.
notes.json iki notla başlar, bu nedenle node notes.js list şunu yazdırır:
Notes for you
1. Buy milk
2. Call Adanotes.json olmadığında şunu yazdırır:
Notes for you
No notes yetYalnızca store.js dosyasını değiştir. Depo boş olduğunda notes.js zaten No notes yet yazdırır.
Dene: $ node notes.js sonrasındaki kutuya list yaz ve Enter tuşuna bas. Dosyadaki iki notu görürsün. Ardından clear yaz. Bu komut zaten notes.js içinde: notes.json dosyasını siler ve Deleted notes.json yazdırır. Tekrar list yaz: No notes yet görürsün. “Kontrol et”e basmadan önce, kontrollerin ihtiyaç duyduğu notes.json dosyasını geri getirmek için Dosyaları sıfırla'ya bas.
Kendin dene
// Notları bu liste yerine notes.json dosyasından yükle.
const store = {
notes: ['Buy milk', 'Call Ada', 'Water the plants'],
add(text) {
this.notes.push(text);
return this.notes.length;
},
};
export default store;
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
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