Web geliştirmeye yeni başlıyorsanız, Express.js'i duymamış olmanız neredeyse imkansız. Hadi gelin, bu güçlü ve hafif framework'ün derinliklerine inelim ve Express.js ile basit ama işlevsel bir web uygulaması yapmayı öğrenelim. Adım adım ilerleyeceğiz, böylece herhangi bir şey kaçırmazsınız.
Express.js Nedir?
Express.js, Node.js için geliştirilmiş bir web framework’üdür. Basit ve hafif yapısı ile özellikle API'ler ve web uygulamaları geliştirmek için mükemmel bir seçimdir. JavaScript ile backend geliştirmek isteyenler için Express.js, hızlı, esnek ve güçlü bir araç sunar.
Başlamak İçin Gerekenler
Express.js kullanmaya başlamadan önce, bilgisayarınızda Node.js yüklü olmalıdır. Node.js, JavaScript kodlarını sunucu tarafında çalıştırmanıza olanak tanır. Hadi önce Node.js’i yükleyelim.
# Adım 1: Node.js'i Yükleyin
Node.js'i [resmi web sitesinden](https://nodejs.org/) indirip yükleyebilirsiniz. Yükleme işlemi tamamlandıktan sonra, terminal veya komut istemcisine şu komutu girerek Node.js’in yüklü olup olmadığını kontrol edin:
```bash
node -v
```
Eğer bir sürüm numarası görüyorsanız, Node.js başarıyla yüklendi demektir.
# Adım 2: Express.js Projesini Başlatmak
Yeni bir Express.js projesi oluşturmak için terminali açın ve aşağıdaki komutları takip edin:
1. Yeni bir klasör oluşturun ve içine girin:
```bash
mkdir express-app
cd express-app
```
2. Node.js projesi başlatın:
```bash
npm init -y
```
Bu, projenize `package.json` dosyasını oluşturur.
3. Express.js'i yükleyin:
```bash
npm install express --save
```
Bu adımlar sayesinde Express.js framework’ünü projenize dahil etmiş oldunuz.
Basit Bir Web Uygulaması Yapmak
Şimdi, Express.js ile basit bir web uygulaması oluşturacağız. Amacımız, kullanıcılar bir sayfaya geldiğinde onlara "Merhaba Dünya!" mesajı göstermek. Hadi başlayalım!
# Adım 3: Uygulama Dosyasını Oluşturun
`app.js` adlı bir dosya oluşturun. Bu dosya, Express.js uygulamanızın ana dosyası olacak. İçeriği şu şekilde olacak:
const express = require('express');
const app = express();
// Ana sayfa için rota
app.get('/', (req, res) => {
res.send('Merhaba Dünya!');
});
// Sunucuyu başlat
app.listen(3000, () => {
console.log('Uygulama 3000 portunda çalışıyor...');
});
# Adım 4: Uygulamayı Çalıştırın
Terminalde şu komutu girerek uygulamanızı başlatın:
```bash
node app.js
```
Sunucunuz başarılı bir şekilde başlatıldığında, tarayıcınıza `http://localhost:3000` yazın. Ve işte karşınızda basit bir Express.js uygulaması!
Express.js ile İleri Seviye Özellikler
Express.js, sadece statik içerik sunmakla kalmaz, aynı zamanda dinamik web uygulamaları geliştirmek için de pek çok özelliğe sahiptir. İşte birkaç örnek:
# Dinamik Rotalar
Express.js, URL parametreleri ve sorgu parametreleri ile dinamik rotalar oluşturmanıza olanak tanır. Örneğin:
```js
app.get('/merhaba/:isim', (req, res) => {
res.send(`Merhaba, ${req.params.isim}!`);
});
```
Bu rotayı `http://localhost:3000/merhaba/Ahmet` şeklinde ziyaret ederseniz, ekranınıza "Merhaba, Ahmet!" yazısı gelir.
# Middleware Kullanımı
Express.js'in en güçlü özelliklerinden biri de middleware’lerdir. Middleware’ler, gelen her istekten önce çalışan fonksiyonlardır ve genellikle doğrulama, oturum yönetimi veya hata işleme gibi işlemler için kullanılır.
Örneğin, her istekte bir tarih ve saat yazdırmak için şu kodu kullanabilirsiniz:
```js
app.use((req, res, next) => {
console.log(`Ziyaret zamanı: ${new Date().toISOString()}`);
next();
});
```
# Template Motorları
Express.js, dinamik içerik oluşturmak için template motorlarıyla uyumlu çalışır. Örneğin, EJS gibi bir template motoru kullanarak HTML şablonlarıyla çalışabilirsiniz.
```bash
npm install ejs --save
```
Express.js, bu template motorunu kullanarak, kullanıcıya özel içerikler göstermenizi sağlar.
# Statik Dosyalar
Web uygulamalarınızda CSS, JavaScript veya resim gibi statik dosyaları sunmak da oldukça kolaydır. Express.js, bir klasörü statik dosya olarak sunmanıza olanak tanır:
```js
app.use(express.static('public'));
```
Hangi Durumlarda Express.js Kullanmalı?
Express.js, küçükten büyüğe her türlü web uygulamasını geliştirmek için mükemmel bir tercihtir. Ancak, özellikle şu durumlarda kullanmanızı öneririm:
- Hızlı prototipler geliştirmek istiyorsanız.
- API veya RESTful servisleri oluşturmanız gerekiyorsa.
- Gerçek zamanlı uygulamalar veya mikroservisler geliştirecekseniz.
Sonuç
Express.js ile hızlı ve verimli bir şekilde web uygulamaları geliştirebilirsiniz. Basit bir "Merhaba Dünya!" uygulamasından, karmaşık dinamik sitelere kadar pek çok projede kullanabileceğiniz güçlü bir araçtır. Unutmayın, Express.js sadece bir başlangıçtır; öğrendikçe çok daha fazlasını keşfedeceksiniz.
Başarılar ve keyifli kodlamalar!