İleri Nodejs Notları — 1 Global Kavramı

Çağatay Yıldız
BilgeAdam Teknoloji
4 min readMay 11, 2020

Nodejs ile uygulama geliştirirken bir noktaya geldiğimizde gözlerimiz diğer dillerdeki kuralları ve yapıları arar. Javascript dosyaları belirli bir zaman sonra karmaşıklaşır ve gerek aralarındaki iletişim, gerekse kodlar anlaşılmaz bir hal alır.

Bu yazı dizisi nodejs ile en azından orta düzey uygulama geliştirmeyi amaçlayan arkadaşlar için kısa kısa bazı notları içerecektir. Koltuklarımıza sıkı tutunalım. Nodejs in yani buzdağının öteki tarafına geçiyoruz!

Nedir Bu Global?

Global kavramı adından da tahmin edeceğimiz üzere bazı değişken, metot veya modüllerin her yerden erişimine fırsat sağlayan bir yapı. Nodejs üzerinde kimi default global yapılar olduğu gibi kendi global değişken veya modüllerimizi de tanımlamamız mümkün. Nodejs in bize sunduğu global obje ve değişkenleri sitesinden inceleyebiliriz. ( https://nodejs.org/api/globals.html )Bu objeleri incelemekte fayda var. Çünkü bu listedeki bazı objeler basit gözükse de içeriğinde uygulama büyüdükçe bize ipuçları verecek, işimizi kolaylaştıracak bir çok kavram mevcut.

Bilgisayarıma test.js adında bir js dosyası oluşturup console içerisinde “module” isimli global objeyi ekrana yazdırdıyorum.

Karşıma çıkan module objesi mevcut dosyama bağlı diğer js leri veya dosyanın bağlandığı js ler (children,parent) gibi kimi özellikleri gösteriyor. Bunun dışında export edilen objelerimi, dosya yolumu da buradan görmem mümkün.

Not: Loaded özelliği mecut modülün yükleme yapılıp yapılmadığını göstermekte. Bu özelliği js dosyasını setImmediate gibi fonksiyonlara tabi tutarak default olarak değiştirebiliriz. Buna daha sonraki yazılarımızdan modüller arasındaki haberleşmede değineceğiz.

Nodejs de herhangi bir nesneyi dışarı çıkarmak için genel olarak export anahtar kelimesini kullanırız. Örneğin ad diye bir değişkeni export ettim ve tekrar modül dosyamı console a yazdırdım.

Tekrar global module objemi ekrana yazdırdığımda export edilen değişkeni görmem mümkün.

Global Değişken Tanımlama

Projede kullanacağımız kimi global değişkenleri hatta js dosyalarını tanımlamamız için nodejs oldukça basit bir yol göstermekte.Öncelikle test.js isimli boş js dosyama global objesini yazdırıyorum.

Karşıma default olarak bana verilen kimi fonksiyonlar çıkmakta. Şimdi ise music.js adında bir js dosyası oluşturup “name” adında string bir global değişken tanımlıyorum. Yeni oluşturduğum js dosyasında global tanımlamam şu şekilde:

Sıra geldi bu global değişkeni test.js üzerinden çağırmaya. Bilindiği üzere önce require olarak dosyamı tanıtıyorum. Sonra ise ekrana name i yazdırıyorum.

Js dosyası içerisinde name adında bir değişken olmamasına rağmen global name değişkenini alıp ekrana çıktı olarak “Iron Maiden!” yazdırıyor. Eğer test.js dosyamda tekrar console a global objesini yazdırmak istersem karşılaşacağım görüntü şu şekilde:

En alt satıra baktığımızda ünlü müzik grubu Iron Maiden’ı görmemiz mümkün.

Son olarak tüm js dosyamızı global olarak tanımlamak istersek aşağıdaki gibi tanımlayabiliriz.

Global değişkenlerimize anlık olarak üzerine başka şeyler yazabilir hatta silebiliriz.

Tanımladığımız global değişkenler sayesinde projemizde hızlı ve kolay erişim sağlamış oluyoruz. Bazı url leri, özel değerleri bu şekilde tanımlayıp development aşamasında hızlıca erişmemiz de mümkün oluyor. Daha sonra bu kavramı genişletip kendi oluşturduğumuz global modülleri bilgisayarımıza yükleyeceğiz. Böylelikle kendi global paketlerimizi oluşturmuş olacağız.

Bir sonraki nodejs yazımızda görüşmek üzere.

--

--