Ana içeriğe geç

Express

Express.js

Okunuşu
ikspres
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/express

Kısaca

Express, en yaygın Node.js web framework'üdür: yönlendirmeyi, istekleri ve yanıtları bir middleware fonksiyonları zinciriyle ele alan minimal bir katmandır.

Express nedir?

Express ilk olarak 2010'da, Node.js'in kendisinden kısa süre sonra yayımlandı ve bir Node sunucusu yazmanın varsayılan yolu oldu. Node'un yerleşik HTTP modülünün üzerine çok az şey ekler: GET /users/:id gibi metotları ve yolları işleyici fonksiyonlara eşleyen bir yönlendirici, isteği okumak ve JSON ya da dosya göndermek için yardımcılar ve middleware eklemenin basit bir yolu.

Middleware Express'in kalbidir. Her istek sırayla bir fonksiyon listesinden geçer; her biri isteği okuyabilir ya da değiştirebilir, bir yanıt gönderebilir ya da isteği devretmek için next()'i çağırabilir. Loglama, JSON gövdelerini ayrıştırma, kimlik doğrulamayı kontrol etme, CORS'u ele alma ve statik dosya sunma hep middleware'dir; bunlar için binlerce hazır paket vardır.

Bu kadar küçük olduğu için Express yapıyı size bırakır: klasörlerin nasıl düzenleneceğini, girdinin nasıl doğrulanacağını, veritabanıyla nasıl konuşulacağını ya da hataların nasıl ele alınacağını. Bu esneklik onu popüler yaptı; büyük ekiplerin çoğu zaman NestJS gibi benzer fikirler etrafında kurulmuş kuralcı framework'leri ya da Fastify ve Hono gibi daha yeni ve hızlı olanları benimsemesinin nedeni de budur. 2024'te yayımlanan Express 5 de nihayet async hata yönetimine yerel destek ekledi.

Sık yapılan bir yanlış, Express'in Django ya da Rails gibi tam yığın (full-stack) bir framework olduğunu düşünmektir. ORM'i, varsayılan olarak şablonları, yönetim paneli ve yerleşik bir proje düzeni yoktur; birçok API'nin tam olarak ihtiyaç duyduğu gibi ince bir yönlendirme ve middleware katmanıdır.

Önemli noktalar

  • Express, ilk olarak 2010'da yayımlanan, Node.js için minimal bir web framework'üdür.
  • Route'lar HTTP metotlarını ve yollarını işleyici fonksiyonlara eşler.
  • Middleware fonksiyonları her isteği sırayla işler ve next()'i çağırır.
  • Proje yapısını, doğrulamayı ve veritabanı erişimini size bırakır.
  • NestJS, Fastify ve Hono, benzer fikirler üzerine kurulmuş popüler alternatiflerdir.

Örnek

Middleware'li küçük bir JSON API'sijavascript
import express from "express";

const app = express();
app.use(express.json());                       // middleware: parse JSON bodies

app.use((req, res, next) => {                  // middleware: log every request
  console.log(req.method, req.path);
  next();
});

const books = [{ id: 1, title: "Dune" }];

app.get("/books/:id", (req, res) => {
  const book = books.find((b) => b.id === Number(req.params.id));
  if (!book) return res.status(404).json({ error: "Not found" });
  res.json(book);
});

app.post("/books", (req, res) => {
  const book = { id: books.length + 1, title: req.body.title };
  books.push(book);
  res.status(201).json(book);
});

app.listen(3000);

Sık sorulan sorular

Express bir backend framework'ü mü?

Evet. Express sunucuda Node.js ile çalışır ve API'ler ile web sunucuları kurmak için kullanılır. Minimal olduğu için çoğu zaman mikro framework olarak anılır.

Express'te middleware nedir?

İsteği, yanıtı ve bir next fonksiyonunu alan bir fonksiyondur. Bunları değiştirebilir, isteği bir yanıtla bitirebilir ya da kontrolü bir sonraki middleware'e veya route'a devredebilir.

Express mi NestJS mi?

Express hafif ve esnektir; küçük servisler ve hızlı API'ler için iyidir. NestJS ise modüller, dependency injection ve dekoratörlerle katı bir yapı ekler; bu da büyük ekiplerin büyük kod tabanlarını tutarlı tutmasına yardım eder. NestJS, Express'in üzerinde bile çalışabilir.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar