Node.js Express.js Çerçeve Eğitimi

⚡ Akıllı Özet

Express.js, temel HTTP modülüne yönlendirme, ara yazılım ve şablon oluşturma özelliklerini ekleyen minimal bir Node.js web uygulama çerçevesidir; böylece tek sayfa, çok sayfalı ve hibrit uygulamalar çok az satır kodla çalışan bir sunucuya ulaşabilir.

  • 🔘 MEAN yığınının rolü: Express.js, arka uç katmanını sağlar. MongoDBAngularJS ve Node.js.
  • ☑️ Kurulum: `npm install express` komutu, framework'ü Node Paket Yöneticisi'nden indirir.
  • ✅ Yönlendirme: app.METHOD(PATH, HANDLER) her birini eşler URL ve HTTP fiilini tek bir işleyiciye yönlendirin.
  • 🧪 Şablonlar: `app.set('view engine')` ve `res.render` komutları, verileri bir görünüm dosyasına aktarır.
  • ️ Modern form: Express 5, promise döndüren işleyicileri kabul eder ve express.json()'ı paketler.
  • 📊 Sürüm notu: Jade'in adı Pug olarak değiştirildi ve Node.js 24, aktif uzun vadeli destek (LTS) sürümüdür.

Node.js Express.js çerçevesi eğitim kılavuzu

Bu eğitimde Express framework'ünü inceleyeceğiz. Bu framework, tek sayfa, çok sayfalı ve hibrit web uygulamaları oluşturmak için sağlam bir özellik seti sağlayan, minimal ve esnek bir Node.js web uygulama framework'ü olarak tasarlanmıştır.

Express.js nedir?

Express.js, tek sayfa, çok sayfalı ve hibrit web uygulamaları geliştirmek için özel olarak tasarlanmış bir Node.js web uygulama sunucu çerçevesidir.

Node.js için standart sunucu çerçevesi haline geldi. Express, MEAN yığını olarak bilinen şeyin arka uç kısmını oluşturur.

Node.js'in temel HTTP yapısı üzerinde yönlendirme ve ara katman yazılımı (middleware) işlevlerini ifade eder. dere ve olay API'leri.

MEAN ücretsiz ve açık kaynaktır JavaSenaryo Dinamik web siteleri ve web uygulamaları oluşturmak için aşağıdaki bileşenlere sahip yazılım yığını;

1) MongoDB — Standart NoSQL veritabanı

2) Express.js — Varsayılan web uygulamaları çerçevesi

3) angularjs - The JavaWeb uygulamaları için kullanılan Script MVC framework'ü

4) node.js — Ölçeklenebilir sunucu tarafı ve ağ uygulamaları için kullanılan çerçeve.

Express.js çerçevesi, GET, PUT, POST ve DELETE istekleri gibi birden fazla istek türünü işlemek için kullanılabilecek bir uygulama geliştirmeyi çok kolaylaştırır.

Express'i yükleme ve kullanma

Express, Node Paket Yöneticisi aracılığıyla yüklenir. Bu, komut satırında aşağıdaki satırı çalıştırarak yapılabilir

npm hızlı kurulum

Yukarıdaki komut, Node Paket Yöneticisi'nden gerekli express paketini indirmesini ister. modüller ve bunları uygun şekilde kurun.

Sürüm notu: npm artık Express 5.2'yi yüklüyor; birçok proje hala Express 4'ü kullanıyor. Her ikisi de aşağıdaki örnekleri çalıştırıyor. desteklenen Node.js sürümü.

Yeni kurduğumuz Express çerçevemizi kullanalım ve basit bir “Merhaba Dünya” uygulaması oluşturalım.

Uygulamamız basit bir şey oluşturacak. sunucu modülü Bu, 3000 numaralı bağlantı noktasında dinleme yapacaktır. Örneğimizde, tarayıcı üzerinden bu bağlantı noktası numarasına bir istek yapılırsa, sunucu uygulaması istemciye 'Merhaba Dünya' yanıtı gönderecektir.

3000 numaralı portta dinleyen, açıklama eklenmiş Express Hello World sunucu kodu.

var express=require('express');
var app=express();
app.get('/',function(req,res)
{
res.send('Hello World!');
});
var server=app.listen(3000,function() {});

Code Açıklama:

  1. İlk kod satırımızda “express modülünü” dahil etmek için require fonksiyonunu kullanıyoruz.
  2. Express modülünü kullanmaya başlamadan önce onu bir nesne haline getirmemiz gerekiyor.
  3. Burada bir geri çağırma fonksiyonu oluşturuyoruz. Bu fonksiyon, herhangi biri web uygulamamızın kök dizinine (http://localhost:3000) eriştiğinde çağrılacaktır. Geri çağırma fonksiyonu, web sayfasına 'Merhaba Dünya' metnini göndermek için kullanılacaktır.
  4. Geri çağırma fonksiyonunda “Merhaba Dünya” stringini istemciye geri gönderiyoruz. 'Res' parametresi içeriği web sayfasına geri göndermek için kullanılır. Bu 'res' parametresi, içeriğin web sayfasına geri gönderilmesini sağlamak için 'request' modülü tarafından sağlanan bir şeydir.
  5. Ardından, sunucu uygulamamızın 3000 numaralı porttan gelen istemci isteklerini dinlemesini sağlamak için `listen` fonksiyonunu kullanıyoruz. Burada dilediğiniz kullanılabilir portu belirtebilirsiniz.

Komut başarıyla yürütülürse, kodunuzu tarayıcıda çalıştırdığınızda aşağıdaki Çıktı gösterilecektir.

Çıktı:

Tarayıcıda, Express sunucusunun 3000 numaralı porttan gönderdiği "Merhaba Dünya" mesajı görüntüleniyor.

Çıktıdan,

  • Eğer internete göz atarsanız bunu açıkça görebilirsiniz. URL 3000 numaralı portta localhost'a eriştiğinizde, sayfada 'Hello World' yazısını göreceksiniz.
  • Kodumuzda sunucunun özellikle 3000 numaralı portta dinlemesini belirttiğimiz için, bu adrese göz attığımızda çıktıyı görebiliyoruz. URL.

Rotalar nedir?

Tek bir kök yol sadece başlangıç ​​noktasıdır.

Yönlendirme, bir uygulamanın belirli bir uç noktaya gelen istemci isteğine nasıl yanıt vereceğini belirler.

Örneğin, bir istemci çeşitli işlemler için GET, POST, PUT veya DELETE HTTP istekleri gönderebilir. URL Aşağıda gösterilenler gibi;

http://localhost:3000/Books
http://localhost:3000/Students

Yukarıdaki örnekte,

  • İlkine yönelik bir GET isteği yapılırsa URLO halde, ideal yanıt bir kitap listesi olmalıdır.
  • GET isteği ikinci için yapılırsa URLO halde, ideal yanıt bir öğrenci listesi olmalıdır.
  • Dolayısıyla, şu temele dayanarak... URL Hangi bağlantıya erişilirse, web sunucusunda farklı bir işlev çağrılır ve buna göre istemciye yanıt gönderilir. Bu, yönlendirme kavramıdır.

Her rota, rota eşleştirildiğinde yürütülen bir veya daha fazla işleyici işlevine sahip olabilir.

Bir rotanın genel sözdizimi aşağıda gösterilmiştir

app.METHOD(PATH, HANDLER)

burada,

1) uygulama ekspres modülün bir örneğidir

2) METHOD bir HTTP istek yöntemidir (GET, POST, PUT veya DELETE)

3) PATH sunucudaki yoldur.

4) HANDLER rota eşleştiğinde yürütülen fonksiyondur.

Çağrı Talep Alma Amaç
uygulama.get(YOL, İŞLEYİCİ) GET Okumak
uygulama.post(YOL, İŞLEYİCİ) POST Oluştur
uygulama.put(YOL, İŞLEYİCİ) PUT değiştirmek
uygulama.sil(YOL, İŞLEYİCİ) SİL Kaldır
uygulama.rota(YOL) Zincirli Grup yöneticileri
uygulama.kullan(İŞLEYİCİ) Farketmez Ara yazılımı monte et

⚠️ ekspres 5 not: Bu imzalar değişmeden kaldı, ancak app.del() app.delete() oldu, res.sendfile() res.sendFile() oldu ve joker karakterler artık /*splat gibi isimler gerektiriyor.

Express'te rotaları nasıl uygulayabileceğimize dair bir örneğe bakalım. Örneğimizde 3 adet rota oluşturacağız.

  1. Bu rotaya erişilirse “Düğümde Eğitim” dizesini görüntüleyecek bir /Node rotası
  2. Bu rotaya erişilirse “Angular üzerinde Eğitim” dizesini görüntüleyecek bir /Angular rotası
  3. Varsayılan bir yönlendirme yolu olan "/", "Hoş geldiniz" metnini görüntüleyecektir. Guru99 Eğitim Videosu.”

Temel kodumuz önceki örneklerle aynı kalacaktır. Aşağıdaki kod parçası, yönlendirmenin nasıl uygulandığını gösteren bir eklentidir.

Node, Angular ve varsayılan rotaları tanımlayan açıklamalı Express yönlendirme kodu.

var express = require('express');
var app = express();
app.route('/Node').get(function(req,res)
{
    res.send("Tutorial on Node");
});
app.route('/Angular').get(function(req,res)
{
    res.send("Tutorial on Angular");
});
app.get('/',function(req,res){
    res.send('Welcome to Guru99 Tutorials');
});

Code Açıklama:

  1. Burada, eğer URL http://localhost:3000/Node is selected in the browser. To the route, we are attaching a callback function which will be called when we browse to the Node URLFonksiyonun 2 parametresi vardır.
    • Kullanacağımız ana parametre, istemciye bilgi göndermek için kullanılabilecek 'res' parametresidir.
    • 'Req' parametresi, yapılan istek hakkında bilgi içerir. Bazen yapılan isteğin bir parçası olarak ek parametreler gönderilebilir ve dolayısıyla 'req' parametresi gönderilen ek parametreleri bulmak için kullanılabilir.
  2. Düğüm rotası seçilirse, “Düğümde Eğitim” dizesini istemciye geri göndermek için send işlevini kullanıyoruz.
  3. Burada, eğer URL http://localhost:3000/Angular is selected in the browser. To the route, we are attaching a callback function which will be called when we browse to the Angular URL.
  4. Angular rota seçilirse, “Angular üzerinde Eğitim” dizesini istemciye geri göndermek için send fonksiyonunu kullanıyoruz.
  5. Bu, uygulamanın kök dizinine (http://localhost:3000) göz atıldığında seçilen varsayılan yoldur. Varsayılan yol seçildiğinde, "Hoş geldiniz" mesajı görüntülenir. Guru"99 Eğitim Videosu" müşteriye gönderilecektir.

Komut başarıyla yürütülürse, kodunuzu tarayıcıda çalıştırdığınızda aşağıdaki Çıktı gösterilecektir.

Çıktı:

Tarayıcıda "Hoş geldiniz" yazısı görünüyor. GuruVarsayılan Express rotasında 99 eğitim videosu.

Çıktıdan,

  • Eğer internete göz atarsanız bunu açıkça görebilirsiniz. URL 3000 numaralı portta localhost'a eriştiğinizde 'Welcome to' ifadesini göreceksiniz. GuruSayfada 99 adet eğitim videosu görüntüleniyor.
  • Çünkü kodumuzda varsayılan değerimizi belirtmiştik. URL Bu mesajı gösterecektir.

Ardından, /Node adresine gidin.

Tarayıcıda Node rotası tarafından döndürülen Node ile ilgili eğitim videosu gösteriliyor.

Çıktıdan,

  • Bunu görebilirsiniz eğer URL Eğer /Node olarak değiştirilirse, ilgili Node rotası seçilir ve "Node Hakkında Eğitim" metni görüntülenir.

Ardından /Angular adresine gidin.

Angular rotası tarafından döndürülen Angular eğitimini gösteren tarayıcı.

Çıktıdan,

  • Bunu görebilirsiniz eğer URL Eğer yol /Angular olarak değiştirilirse, ilgili Node rotası seçilir ve "Angular Eğitimi" metni görüntülenir.

express.js kullanan örnek Web sunucusu

Yukarıdaki örneğimizden, yönlendirmeye bağlı olarak hangi çıktıyı göstereceğimize nasıl karar verebileceğimizi gördük. Bu tür yönlendirme, günümüzdeki çoğu web uygulamasında kullanılmaktadır. Bir web sunucusunun diğer kısmı ise Node.js'de şablonların kullanılmasıyla ilgilidir.

Hızlı ve pratik Node.js uygulamaları oluştururken, kolay ve hızlı bir yöntem uygulama şablonlarını kullanmaktır. Piyasada şablon oluşturmak için birçok framework mevcuttur. Bizim örneğimizde, şablonlama için Jade framework'ünü ele alacağız.

Jade, Node Paket Yöneticisi aracılığıyla yüklenir. Bu işlem, komut satırında aşağıdaki satırı çalıştırarak yapılabilir.

npm yeşim yükle

Yukarıdaki komut, Node Paket Yöneticisi'nden gerekli Jade modüllerini indirmesini ve buna göre kurmasını ister.

NOT: Node jade'in son sürümünde kullanımdan kaldırıldı. Bunun yerine pug kullanın.

⚠️ Modern karşılığı: kurmak Boksörindex.jade dosyasını index.pug olarak yeniden adlandırın ve app.set('view engine','pug') ayarını yapın. Jade paketinde herhangi bir güncelleme olmaz; aşağıdaki adımlar yine de çalışır.

Yeni kurduğumuz Jade framework'ünü kullanarak bazı temel şablonlar oluşturalım.

) 1 Adım İlk adım, bir Jade şablonu oluşturmaktır. index.jade adında bir dosya oluşturun ve aşağıdaki kodu içine ekleyin. Dosyayı "views" klasöründe oluşturduğunuzdan emin olun.

index.jade şablonu, başlık ve üstbilgi yer tutucularıyla birlikte işaretleme kodu.

  1. Burada, bu şablon çağrıldığında sayfa başlığının aktarılan değere göre değişeceğini belirtiyoruz.
  2. Ayrıca, başlık etiketindeki metnin Jade şablonunda iletilen metinle değiştirileceğini de belirtiyoruz.

Bunu görüntüleyen uygulama kodu aşağıdadır.

Jade görünüm motorunu ve işleme indeksini ayarlayan açıklamalı Express kodu.

var express=require('express');
var app=express();
app.set('view engine','jade');
app.get('/',function(req,res)
{
res.render('index',
{title:'Guru99',message:'Welcome'})
});
var server=app.listen(3000,function() {});

Code Açıklama:

  1. Başvuru formunda ilk olarak şablonları oluşturmak için kullanılacak "görüntüleme motorunu" belirtmeliyiz. Şablonlarımızı oluşturmak için Jade kullanacağımızdan, bunu buna göre belirtiyoruz.
  2. Render işlevi bir web sayfasını oluşturmak için kullanılır. Örneğimizde daha önce oluşturulan şablonu (index.jade) oluşturuyoruz.
  3. “Guru"99" ve "Welcome" ifadeleri sırasıyla "title" ve "message" parametrelerine atanmıştır. Bu değerler, index.jade şablonunda tanımlanan 'title' ve 'message' parametreleriyle değiştirilecektir.

Komut başarıyla yürütülürse, kodunuzu tarayıcıda çalıştırdığınızda aşağıdaki Çıktı gösterilecektir.

Çıktı:

Tarayıcı, Jade şablonunu başlığıyla birlikte görüntülüyor. Guru99 ve başlık Hoş geldiniz

Çıktıdan,

  • Sayfanın başlığının " olarak ayarlandığını görebiliyoruz".Guru99” ve sayfanın başlığı “Hoş Geldiniz” olarak ayarlanıyor.
  • Bunun nedeni, Node.js uygulamamızda çağrılan Jade şablonudur.

SSS

Middleware Fonksiyonlar, `req`, `res` ve `next` parametrelerini alır ve kayıt sırasına göre çalışır. Günlük kaydı, gövde ayrıştırma, kimlik doğrulama ve hataları ele alırlar ve her biri yanıtı sonlandırmalı veya `next()` fonksiyonunu çağırmalıdır.

Hayır. Express ayrıştırıcıları bir araya getirir, bu nedenle express.json() ve express.urlencoded() ayrı ayrı kullanılan yöntemlerin yerini alır. vücuda ayrıştırıcı Bağımlılık. Birleştirilmiş bodyParser() yardımcı fonksiyonu kaldırıldı ve bir ayrıştırıcı çalıştırılana kadar req.body tanımsız kalıyor.

ekspres 5 İşleyicileri promise tabanlı hale getirdik, app.del() ve res.sendfile() fonksiyonlarını kaldırdık, yol eşleştirmesini güncelleyerek joker karakterlerin /*splat gibi isimlere sahip olmasını sağladık ve urlencoded extended özelliğini varsayılan olarak false olarak ayarladık.

Express 5'te reddedilen bir promise otomatik olarak hata işleme ara yazılımına iletilir, bu nedenle manuel next(err) çağrıları ortadan kalkar. Express 4'te ise her async bloğunun içinde açık bir try/catch bloğuna ihtiyaç vardır. geri aramak.

BoksörJade, ticari marka nedenleriyle yeniden adlandırıldı ve jade paketi kullanımdan kaldırıldı. Mevcut şablonlar, adlarını .pug olarak değiştirdikten ve görünüm motorunu değiştirdikten sonra çalışmaya devam eder.

2026 yılı boyunca aktif LTS sürümü Node.js 24 olurken, Node.js 22 bakım aşamasında kalmaya devam edecek. kurmak Bunlardan biri. Express 5, Node.js 18 veya daha yeni bir sürüm gerektirir.

Makine öğrenimi tarayıcıları, rota tanımlarını ve ara yazılım sırasını okur, ardından eksik kimlik doğrulamasını ve doğrulanmamış işlemleri işaretler. JavaSenaryo Giriş ve izin verici CORS kuralları. Her bulgu yine de bir insan inceleyici tarafından doğrulanmaktadır.

GitHub Yardımcı Pilotu Benzer şekilde, aracı tabanlı asistanlar tek bir kısa komut istemiyle rota dosyaları, doğrulama ara yazılımları ve denetleyici şablonları oluşturur. Oluşturulan her rota yine de şunları gerektirir: test yapmak serbest bırakılmadan önce.

Bu yazıyı şu şekilde özetleyin: