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.
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.
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:
- İlk kod satırımızda “express modülünü” dahil etmek için require fonksiyonunu kullanıyoruz.
- Express modülünü kullanmaya başlamadan önce onu bir nesne haline getirmemiz gerekiyor.
- 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.
- 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.
- 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ı:
Çı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.
- Bu rotaya erişilirse “Düğümde Eğitim” dizesini görüntüleyecek bir /Node rotası
- Bu rotaya erişilirse “Angular üzerinde Eğitim” dizesini görüntüleyecek bir /Angular rotası
- 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.
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:
- 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.
- Düğüm rotası seçilirse, “Düğümde Eğitim” dizesini istemciye geri göndermek için send işlevini kullanıyoruz.
- 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.
- Angular rota seçilirse, “Angular üzerinde Eğitim” dizesini istemciye geri göndermek için send fonksiyonunu kullanıyoruz.
- 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ı:
Çı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.
Çı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.
Çı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.
- Burada, bu şablon çağrıldığında sayfa başlığının aktarılan değere göre değişeceğini belirtiyoruz.
- 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.
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:
- 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.
- 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.
- “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ı:
Çı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.









