23.04.2023

7

Beğenme

324

Görüntülenme

Express.js Nedir? Örnek bir Express.js uygulamasının yapısı

Client-server arasındaki iletişimi sağlayan minimalist bir web çerçevesidir. (express)

Bu yazıda, Express.js’in HTTP sunucu desteği ve HTTP isteklerinin yönetimi üzerinde durdum. Ancak, bu sadece Express.js’in sunduğu özelliklerin bir kısmıdır. Gelecek yazılarımda, Express.js’in diğer özelliklerini örnek projelerle açıklayarak daha kapsamlı bir şekilde ele alacağım.

http request, http response

HTTP istekleri, kullanıcının web sitesinde bir sayfayı görüntülemek veya bir form göndermek gibi bir eylem gerçekleştirdiğinde sunucuya gönderilen istektir. HTTP yanıtları, sunucu kullanıcılarının isteklerine yanıt olarak gönderdiği verilerdir.

Express.js, HTTP isteklerini ve yanıtlarını yönetmek için bir dizi özellik ve fonksiyona sahiptir.

Örnek bir proje ile express.js’in temellerini iyi anlayalım. Bu projede ‘Hello World!’ yazısı içeren bir web sayfası oluşturacağız.

Package.json dosyası oluşturma

· Proje dosyası oluşturalım. Daha sonra npm init -y ile default değerler alan package.json dosyasını oluşturalım. Package.json dosyasını daha sonra tekrar düzenleyebiliriz.

Paketleri yüklemek

· Package.json dosyasının bağımlılıklarına npm i express komutunu kullanarak express’i dahil edelim.

· Proje geliştirme aşamasında kullanacağımız nodemon paketini kuralım. Nodemon, uygulamanın dosyalarında herhangi bir değişiklik yapıldığında otomatik olarak yeniden başlatılmasını sağlar. npm i -D nodemon komutu ile kurulum yapılır. Package.json dosyasının ‘scripts’ alanını aşağıdaki şekilde düzenleyelim:

  • Bu sayede uygulamamızı npm start komutuyla kolayca çalıştırdıktan sonra uygulama dosyamızdaki değişiklik yapıldığında otomatik olarak yeniden başlatırız. Bu, süreci hızlandırır ve zaman kazandırır.

Express ile sunucu kurmak

· Javascript kodlarımızı yazacağımız app.js dosyasını oluşturalım ve express’i projeye çağıralım.

const express = require('express'); //express değişkenine express atanarak projeye çağırılır
const app = express(); //app ile express modülüne erişim sağlanılacak

· app.listen() metodu ile belirli bir port üzerinde sunucumuzu çalıştıralım. Uygulamamız bu portu dinleyecek ve gelen isteklere yanıt verecek. app.js dosyasında alta yazılması gereklidir.

const port=9000;
app.listen(port, ()=>{
console.log(`Server is running on port ${port}`);
})

Web sayfası içeriğini yazalım

Express.js, URL isteklerine yanıt vermek için routing kullanır. Routing, bir URL isteği geldiğinde hangi işlevin çağrılacağını belirler.

app.get(path,callback) metodu GET isteklerini yönetmek için kullanılır.

app.get('/',(req,res)=>{
res.send(`<h1>Hello World!</h1>`);
});

Fonksiyon, req ve res adlı iki parametre alır. req parametresi, gelen isteğin tüm bilgilerini içerir (örneğin, isteğin URL’si), res parametresi ise yanıt nesnesini temsil eder.

Bu yönlendirme metodu, res.send() fonksiyonunu kullanarak basit bir metin yanıtı döndürür. send() fonksiyonu, yanıt nesnesini temsil eden res parametresini kullanarak HTTP yanıtı oluşturur ve istemciye gönderir.

Projeyi çalıştıralım

Terminale yazılan npm start komutu ile proje başlatılır. Konsol ekranınızda ‘Server is running on port 9000’ yazısını göreceksiniz. Tarayıcınızın adres çubuğuna ‘http://localhost:9000/ ’ yazdığınızda ‘Hello World!’ metnini içeren bir sayfa açılacaktır.

Projenin kodlarını github hesabımda public olarak paylaştım. Dilerseniz inceleyebilirsiniz. github

Özetle express.js, kullanıcı dostu ve esnektir. Bu özellikleri web uygulamalarının hızlı ve kolay bir şekilde oluşturulmasını sağlar.

Yorumlar

Kullanıcı yorumlarını görüntüleyebilmek için kayıt olmalısınız!

Deniz Dağlı

Bilgisayar mühendisliği 4. sınıf öğrencisiyim. Burada güncel teknolojileri rahatça öğrenme şansına sahip olduğumdan dolayı varım.

Konum

Kütahya, TR

Eğitim

Bilgisayar Mühendisliği - Dumlupınar

İş Tecrübesi

Yazılım Stajyeri - Retter.io

© 2021 Patika Dev

facebook
twitter
instagram
youtube
linkedin

Disclaimer: The information /programs / events provided on https://patika.dev and https://risein.com are strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice and do not make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://patika.dev and https://risein.com disclaim any responsibility for financial decisions made by users based on information provided here.