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.
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.
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;
İlgilenenlerin faydalanması dileğiyle…
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…