Node.js kullanarak CLI (Komut Satırı Arayüzü) araçları oluşturmak, geliştiriciler için oldukça faydalıdır. Bu yazıda, temel bir CLI aracı oluşturmayı öğrenmenin ötesine geçerek, CLI aracına nasıl mantık ekleyeceğimizi ve kullanıcıdan gelen argümanları nasıl işleyeceğimizi ayrıntılı olarak ele alacağız. Özellikle, herhangi bir API anahtarı gerektirmeyen JSONPlaceholder API kullanarak belirli bir kullanıcının bilgilerini sağlayacak basit bir kullanıcı bilgi CLI aracını nasıl oluşturacağımızı inceleyeceğiz.
Önceki videomuzda, Node.js ve npm kullanarak basit bir CLI aracı oluşturmayı öğrendik. Bu araç, kullanıcı komutlarını alıp basit işlemler yapabiliyordu. Şimdi ise bu temelin üzerine eklemeler yaparak aracı daha işlevsel hale getireceğiz.
JSONPlaceholder API Nedir? JSONPlaceholder, sahte verilerle çalışan bir REST API'dir. Bu API, test ve prototip projeleri için idealdir ve kullanıcılar, gönderiler, yorumlar, albümler ve fotoğraflar gibi çeşitli veri türlerine erişim sağlar. API'ye bir istek göndererek, belirli bir kullanıcıya ait bilgileri içeren bir JSON yanıtı alabiliriz.
API'nin Kullanımı API'yi kullanmak için herhangi bir API anahtarı gerekmiyor. Örneğin, 1
ID'li kullanıcının bilgilerini almak için şu URL kullanılabilir: https://jsonplaceholder.typicode.com/users/1
. Bu URL, ilgili kullanıcı hakkında detaylı bilgileri içeren bir JSON döndürür.
Fonksiyon Tanımlaması İlk olarak, belirli bir kullanıcı ID'si alıp, ilgili kullanıcının bilgilerini konsola loglayan bir fonksiyon tanımlamamız gerekiyor. Bu fonksiyon, asenkron (async) olacak çünkü API çağrısı yapacak.
const fetch = require('node-fetch');
const printUserInfo = async (userId) => {
const response = await fetch(`https://jsonplaceholder.typicode.com/users/${userId}`);
const userData = await response.json();
const userInfo = {
name: userData.name,
username: userData.username,
email: userData.email,
phone: userData.phone,
website: userData.website
};
console.log(userInfo);
};
printUserInfo(1);
Fonksiyonun Çalışması
printUserInfo
fonksiyonu, bir kullanıcı ID'si alır.
fetch
kullanarak API'ye bu ID'yi gönderir ve yanıtı bekler.
Yanıtı JSON formatına dönüştürür.
JSON'dan isim, kullanıcı adı, e-posta, telefon ve web sitesi gibi bilgileri çıkarır.
Bu bilgileri konsola loglar.
Bu adımları takip ederek, 1
ID'li kullanıcının bilgilerini başarıyla konsolda görebiliriz.
CLI Argümanları Geçme Şu anki kodda, kullanıcı ID'si sabit kodlanmış durumda. Bunu kullanıcıdan komut satırında alacak şekilde güncellemeliyiz. Node.js'de CLI aracına argüman geçmenin yolu, process.argv
dizisini kullanmaktır. Bu dizi, yorumlayıcıya giden yolu, CLI komutunu ve geçilen seçenekleri içerir.
console.log(process.argv);
Bu kod, process.argv
dizisini konsola loglar. Örneğin, node index.js --id=1
komutunu çalıştırdığınızda, bu dizi şu şekilde olur:
0: node yolu
1: index.js yolu
2: --id=1
Yargs Paketinin Kurulumu ve Kullanımı yargs
, CLI araçları için argüman işleme işini kolaylaştıran bir pakettir. Argümanları anahtar-değer çiftlerine dönüştürür ve bu sayede kod içinde kolayca erişilebilir hale getirir. İlk olarak, yargs
paketini yükleyelim:
npm install yargs
Ardından, index.js
dosyasına yargs
paketini dahil edip, kullanarak kullanıcı ID'sini komut satırından alabiliriz.
const yargs = require('yargs');
const argv = yargs.argv;
const printUserInfo = async (userId) => {
const response = await fetch(`https://jsonplaceholder.typicode.com/users/${userId}`);
const userData = await response.json();
const userInfo = {
name: userData.name,
username: userData.username,
email: userData.email,
phone: userData.phone,
website: userData.website
};
console.log(userInfo);
};
printUserInfo(argv.id);
CLI Komutunun Güncellenmesi ve Çalıştırılması Artık CLI komutunu şu şekilde çalıştırabiliriz: node index.js --id=1
. Bu komut, belirli bir kullanıcı ID'sine ait bilgileri alır ve ilgili bilgileri konsola loglar.
Farklı bir kullanıcı ID'si (örneğin 2
) geçirildiğinde, bu kullanıcının bilgilerini görüntüleriz. Örneğin, node index.js --id=2
komutu farklı bir kullanıcı verisi döndürecektir.
Bu makalede, belirli bir kullanıcının bilgilerini sağlayacak şekilde Node.js kullanarak CLI aracımıza nasıl mantık ekleyeceğimizi ve yargs
paketi ile kullanıcıdan gelen argümanları nasıl işleyeceğimizi öğrendik. CLI aracımız, kullanıcıdan aldığı ID'ye göre doğru verileri görüntüleyebiliyor. Bir sonraki videoda ve makalede, CLI aracımıza daha fazla etkileşim eklemeyi planlıyoruz.
Node.js ile CLI araçları oluşturmak, bu araçları işlevsel hale getirmek ve kullanıcıdan gelen argümanları işlemek oldukça faydalıdır. Bu yazıda, JSONPlaceholder API kullanarak bir kullanıcı bilgi CLI aracı oluşturduk ve bu aracın nasıl geliştirileceğini ayrıntılı olarak inceledik. CLI araçları, geliştiricilere büyük kolaylık sağlar ve bu tür araçların nasıl oluşturulacağını bilmek önemli bir beceridir.