Express.js Nedir?
Express.js ile Başlarken
Öncelikle, terminal üzerinden Node.js projenizi başlatmanız gerekiyor:
npm init -y
Bu komut, yeni bir Node.js projesi başlatır. Ardından, Express.js’i projenize eklemek için şu komutu yazın:
npm install express --save
Express'i kurduktan sonra, projeye temel bir Express.js sunucusu eklemeye başlayabiliriz. Şimdi, `server.js` adında bir dosya oluşturalım ve içine şu basit kodu yazalım:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Merhaba, Express!');
});
app.listen(port, () => {
console.log(`Sunucu http://localhost:${port} adresinde çalışıyor!`);
});
Bu kod, basit bir Express.js sunucusu kurar ve ana sayfada "Merhaba, Express!" mesajını gösterir. Şimdi terminal üzerinden şu komutu çalıştırarak sunucunuzu başlatabilirsiniz:
node server.js
Tarayıcınızda `http://localhost:3000` adresini ziyaret ettiğinizde, karşınıza "Merhaba, Express!" mesajı çıkacaktır. İşte, Express.js ile ilk web uygulamanızı oluşturmuş oldunuz!
Express.js ile Daha Fazlasını Yapalım
app.get('/merhaba/:isim', (req, res) => {
const isim = req.params.isim;
res.send(`Merhaba, ${isim}!`);
});
Yukarıdaki kod parçası, `/merhaba/:isim` yolunu dinler ve URL’deki `isim` parametresini kullanarak kişiye özel bir mesaj gösterir. Örneğin, `http://localhost:3000/merhaba/Baran` adresine gittiğinizde, "Merhaba, Baran!" mesajını göreceksiniz. Ne kadar kolay, değil mi?
Web Uygulamanızda Rotalar (Routes) ve Middleware Kullanımı
Örneğin, kullanıcılar `/giris` adresine girdiğinde sadece giriş yapmış olanlar erişebilsin diyelim. Bunun için bir giriş kontrol middleware’ini şöyle yazabiliriz:
function kontrolMiddleware(req, res, next) {
const girisYapti = false; // Burada bir oturum kontrolü yapılabilir
if (!girisYapti) {
return res.redirect('/giris');
}
next();
}
app.get('/giris', (req, res) => {
res.send('Giriş Yapmadınız!');
});
app.get('/panel', kontrolMiddleware, (req, res) => {
res.send('Hoş geldiniz! Panel sayfasındasınız.');
});
Bu örnekte, `/panel` adresine gitmek isteyen kullanıcıların önce giriş yapması gerekiyor. Giriş yapmadılarsa, onları `/giris` sayfasına yönlendiriyoruz.
Express.js ile API Geliştirme
const users = [
{ id: 1, ad: 'Baran' },
{ id: 2, ad: 'Ali' },
{ id: 3, ad: 'Ayşe' }
];
app.get('/api/kullanici', (req, res) => {
res.json(users);
});
app.get('/api/kullanici/:id', (req, res) => {
const user = users.find(u => u.id == req.params.id);
if (user) {
res.json(user);
} else {
res.status(404).send('Kullanıcı bulunamadı');
}
});
Bu kod, iki API rotası oluşturur. Birincisi tüm kullanıcıları dönerken, ikincisi belirli bir kullanıcının detaylarını döner.