Express.js – set Fonksiyonuyla Global Değişken Oluşturma

Merhaba,

Express.js’de projeye global değişken oluşturabilmek için express modülünden elde edilen nesne üzerinden “set” fonksiyonu bizlere yardımcı olmaktadır. Bu fonksiyon aracılığıyla projeye özel global değişkenler tanımlayabilmekte ve tanımlanan nokta neresi olursa olsun herhangi bir farklı noktadan ilgili değeri elde edebilmekte yahut kullanıcılar tarafından gelen taleplerde ilgili değere requestler üzerinden ulaşabilmekteyiz.

const app = require("express")();

app.set("x", "5");
console.log(app.get("x"));

app.listen(1000, () => console.log("Yayın başladı..."));

Yukarıdaki kod bloğunu incelerseniz eğer 3. satırdaki “app.set(“x”, “5”);” komutu ile projeye “x” adında ve “5” değerinde global bir değişken tanımlanmış bulunmaktadır. 4. satırda ise ilgili değişkenin değeri yine express modülünün nesnesi üzerinden(app referansı) erişilen “get” fonksiyonu aracılığıyla çağrılmakta ve console’a yazdırılmaktadır.
Express.js - set Fonksiyonuyla Global Değişken Oluşturma

const app = require("express")();

app.set("x", "5");
app.post("/post", (request, response, next) => {
    response.send(request.app.get("x"));
});

app.listen(1000, () => console.log("Yayın başladı..."));

Yukarıdaki kod bloğunda ise tanımlanan global değişkenlerin http taleplerinde request üzerinden erişilebilir olduğunu göreceksiniz.
Express.js - set Fonksiyonuyla Global Değişken Oluşturma

Benzer mantıkla ana modül ile router yapılanmasının farklı dosyalarda olduğu durumları düşünürsek eğer tanımlanan global değişkene yine aynı şekilde erişilecektir. Örnek olarak aşağıdaki çalışmayı inceleyiniz;

--- app.js ---
const app = require("express")();

app.set("x", "5");
app.use("/", require("./route"));

app.listen(1000, () => console.log("Yayın başladı..."));
--- route.js ---
const router = require("express").Router();

router.get("/get", (request, response, next) => {
    response.send(request.app.get("x"));
});

module.exports = router;

Express.js - set Fonksiyonuyla Global Değişken Oluşturma

İlgilenenlerin faydalanması dileğiyle…
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Copy Protected by Chetan's WP-Copyprotect.