Express.js Nedir ve Neden Kullanılır?
Express.js, Node.js üzerinde çalışan minimal ve esnek bir web uygulama framework'üdür. Basitliği ve performansı ile popülerdir. Express, RESTful API'ler, web sayfaları, dinamik içerikler gibi her türlü backend ihtiyacını karşılayabilir. Yani, hem geliştiriciler için hızlı hem de uygulamanız için güçlü bir yapı sağlar. Eğer Node.js kullanarak hızlı bir şekilde API ya da web uygulaması geliştirmek istiyorsanız, Express.js kesinlikle başvurmanız gereken bir araçtır.
İlk Web Uygulamanızı Yazmak: Adım Adım Kılavuz
Express.js ile çalışmaya başlamadan önce, bilgisayarınızda Node.js'in kurulu olması gerekir. Eğer henüz kurmadıysanız, [Node.js resmi sitesinden](https://nodejs.org/en/) uygun sürümü indirip kurabilirsiniz.
1. Proje Dizini Oluşturun:
İlk adım olarak, bir proje dizini oluşturuyoruz. Komut satırını açın ve aşağıdaki komut ile yeni bir proje klasörü oluşturun:
mkdir express-web-app
cd express-web-app
2. Node.js ve Express'i Kurun:
Proje dizinine girdikten sonra, Express.js ve diğer gerekli paketleri yükleyeceğiz. Bunu yapmak için, terminalde aşağıdaki komutları çalıştırın:
npm init -y
npm install express
Burada `npm init -y`, projeniz için bir `package.json` dosyası oluşturur. Bu dosya, projenizdeki bağımlılıkları (Express gibi) yönetmek için kullanılır. Sonrasında `npm install express` komutuyla Express.js'i kuruyoruz.
3. Sunucu Kodunu Yazın:
Express.js ile basit bir web sunucusu kurmak oldukça kolaydır. `app.js` adında bir dosya oluşturun ve içine şu kodu ekleyin:
const express = require('express');
const app = express();
// Anasayfa için bir rota tanımlıyoruz
app.get('/', (req, res) => {
res.send('Merhaba, Express ile web uygulamanıza hoş geldiniz!');
});
// Sunucuyu başlatıyoruz
app.listen(3000, () => {
console.log('Sunucu 3000 portunda çalışıyor!');
});
Bu kod, Express ile temel bir web sunucusu başlatır. `/` rotasına gittiğinizde, tarayıcınızda "Merhaba, Express ile web uygulamanıza hoş geldiniz!" mesajını görmelisiniz.
4. Uygulamanızı Çalıştırın:
Kodunuzu yazıp kaydettikten sonra, terminalden aşağıdaki komut ile sunucuyu çalıştırın:
node app.js
Artık tarayıcınızda `http://localhost:3000` adresine giderek uygulamanızın çalışıp çalışmadığını kontrol edebilirsiniz. Eğer her şey doğruysa, sizi hoş geldiniz mesajı karşılayacak!
Express.js ile Dinamik İçerik Gösterme
Express.js sadece statik sayfalarla değil, dinamik içeriklerle de harika çalışır. Kullanıcıların giriş yapması, veritabanından veri çekmesi veya form gönderileri gibi dinamik işlemleri kolayca yönetebilirsiniz. Bir örnek üzerinden bunu nasıl yapacağımıza bakalım.
5. Form Verisi Gönderme:
Kullanıcılardan veri almak için HTML formu oluşturabiliriz. Aşağıdaki kodda, bir form gönderildiğinde sunucu nasıl veri alacak, buna göz atacağız.
İlk olarak, bir `views` klasörü oluşturun ve içinde `index.ejs` dosyasını oluşturun. Bu dosya, HTML formumuzu içerecek:
Express.js Form
Form Verisi Gönder
Şimdi de sunucu tarafında form verisini alıp nasıl işleyeceğimizi göstereceğiz. Express.js, form verisini almak için `express.urlencoded()` middleware'ini kullanmanızı sağlar.
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
// Body verisini işlemek için middleware ekliyoruz
app.use(bodyParser.urlencoded({ extended: true }));
// Ana sayfa rotası
app.get('/', (req, res) => {
res.sendFile(__dirname + '/views/index.ejs');
});
// Form verisini işleme
app.post('/submit', (req, res) => {
const name = req.body.name;
res.send(`Merhaba ${name}, form verinizi aldık!`);
});
app.listen(3000, () => {
console.log('Sunucu 3000 portunda çalışıyor!');
});
Artık formu gönderen bir kullanıcı, "Merhaba [Adınız], form verinizi aldık!" mesajını görecektir.
Sonuç
Express.js, backend geliştirmeye başlamak için harika bir araçtır. Hızlı kurulumu, basit API'leri ve geniş modül desteği ile projelerinizi hızlıca hayata geçirebilirsiniz. Web uygulamanız için güçlü bir temel oluşturan Express, büyümek ve ölçeklenmek için de harika bir altyapı sunar.
Günümüz yazılım dünyasında Express.js, hız ve esneklik açısından önemli bir yer tutar. Artık temel bir Express.js uygulaması geliştirmeyi öğrendiniz. Şimdi hayal gücünüzü kullanın, bu temeli genişletin ve güçlü web uygulamalarına imza atın.