Menu
CoddyTech

Yerleşik Modüller

Coddy'nin Node.js Journey'sinin Node.js Temelleri bölümünün bir parçası. Ders 8 / 24.

Notların yakında bir dosyada saklanacak ve dosya yolları bir bilgisayardan diğerine farklılık gösterir.

Node bunun için kendi modüllerini sunar. Bunları dosyalarını içe aktardığın gibi, node: önekiyle ve yüklemen gereken hiçbir şey olmadan içe aktarırsın. path.join bir yolun parçalarını uygun ayraçla birleştirir, path.basename son parçayı verir, os.homedir() ana klasöründür ve process.cwd() programın çalıştığı klasördür.

import os from 'node:os';
import path from 'node:path';

const file = path.join(os.homedir(), 'photos', 'cat.png');
console.log(file); // /home/ada/photos/cat.png
console.log(path.basename(file)); // cat.png

path.join parçaların arasına bir eğik çizgi koyar, böylece hiçbir zaman photoscat.png elde etmezsin.

challenge icon

Görev

Kolay
  • Yeni bir where komutu, geçerli klasördeki notes.json dosyasının tam yolunu yazdırır: path.join(process.cwd(), 'notes.json').
  • İkinci bir satır, bu yolun dosya adını yazdırır.

node notes.js where komutunu çalıştır. Dosya henüz mevcut değil: 3. bölümde oluşturulacak.

Kendin dene

// Not aracınız burada başlıyor.
import { formatNote } from './format.js';
import store from './store.js';

const [command, ...words] = process.argv.slice(2);
const text = words.join(' ');

if (command === 'add') {
    const n = store.add(text);
    console.log(`Adding: ${formatNote(n, text)}`);
} else if (command === 'list') {
    const owner = process.env.NOTES_OWNER ?? 'you';
    console.log(`Notes for ${owner}`);
    if (store.notes.length === 0) {
        console.log('No notes yet');
    }
    store.notes.forEach((note, i) => console.log(formatNote(i + 1, note)));
} else {
    if (command) {
        console.error(`Unknown command: ${command}`);
    }
    console.error('Usage: node notes.js <command> [words]');
    process.exit(1);
}
quiz iconKendini test et

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