Express Paketi Nedir Ne İşe Yarar ?
Express.js, Node.js üzerinde çalışan, minimal ve esnek bir web uygulama çatısıdır. HTTP sunucuları ve RESTful API'lar oluşturmak için kullanılır.
Ne İşe Yarar?
- Web Uygulaması ve API Geliştirme: Express, HTTP isteklerini ve yanıtlarını yönetmek için basit ve güçlü bir yöntem sunar. Web siteleri, tek sayfalı uygulamalar ve API'lar oluşturmak için kullanılır.
- Yönlendirme (Routing): Farklı URL'ler için yönlendirme kuralları tanımlamanıza olanak sağlar. Bu, uygulamanızın çeşitli sayfalara ve işlevlere yönlendirilmesini kolaylaştırır.
- Middleware Kullanımı: Express, middleware desteği sunar. Middleware, bir HTTP isteği ve yanıtı arasında çalışarak çeşitli işlemler gerçekleştirebilir, örneğin kimlik doğrulama, hata işleme, veri doğrulama ve daha fazlası.
Express.js'in gücünü ve esnekliğini göstermek için bazı basit örnekler sunalım.
// express paketini dahil et
const express = require('express');
// uygulama oluştur
const app = express();
// ana rota için GET isteği
app.get('/', (req, res) => {
res.send('Hello World!');
});
// sunucuyu başlat
app.listen(3000, () => {
console.log('Sunucu 3000 portunda çalışıyor');
});
Bu örnekte, Express ile basit bir sunucu oluşturduk ve ana rota (/) için bir GET isteği işleyici tanımladık. Sunucu çalıştığında, tarayıcınızda http://localhost:3000 adresine giderek "Hello World!" mesajını görebilirsiniz.
Bir örnek daha bakalım
const express = require('express');
const app = express();
app.get('/api/users', (req, res) => {
const users = [
{ id: 1, name: 'Ahmet' },
{ id: 2, name: 'Mehmet' },
];
res.json(users);
});
app.listen(3000, () => {
console.log('Sunucu 3000 portunda çalışıyor');
});
Bu örnekte, bir API oluşturduk ve "/api/users" rotasına yapılan isteklerde JSON formatında kullanıcı listesi döndürdük. Tarayıcınızda "http://localhost:3000/api/users" adresine giderek JSON yanıtını görebilirsiniz.
Bu küçük örnekler, Express.js ile web uygulamaları ve API'lar geliştirmenin ne kadar kolay ve esnek olduğunu göstermektedir. Express'in minimal ve genişletilebilir yapısı sayesinde daha karmaşık projeler de rahatlıkla geliştirilebilir.