Node.js, JavaScript tabanlı bir sunucu tarafı programlama platformudur ve modüler yapısı sayesinde geliştiricilere esneklik ve verimlilik sunar. Bu makalede, Node.js'deki modüllerin kapsamını ve bu kapsamın nasıl sağlandığını inceleyeceğiz.
Node.js'de bir modül, bağımsız bir dosya olarak düşünülebilir ve her modül kendi kapsamına sahiptir. Bu, modüller arasındaki değişken ve fonksiyon isimlerinin çakışmasını önler. Örneğin, batman.js
ve superman.js
isimli iki modül oluşturduğumuzu varsayalım. Her iki modülde de const superhero = "Batman"
ve const superhero = "Superman"
şeklinde tanımlamalar yapabiliriz. Bu tanımlamalar, her modülün kendi kapsamında yer aldığı için birbiriyle çakışmaz.
// batman.js
const superhero = "Batman";
console.log(superhero);
// superman.js
const superhero = "Superman";
console.log(superhero);
Bir ana modül (örneğin index.js
), diğer modülleri require
fonksiyonu kullanarak içe aktarabilir. Bu durumda, her bir modülün içindeki kodlar kendi kapsamında çalıştırılır. Örneğin, index.js
içerisinde batman.js
ve superman.js
modüllerini içe aktardığımızda, her iki modülde tanımlanan superhero
değişkeni kendi modüllerinde geçerli olur ve bir çakışma meydana gelmez.
// index.js
require('./batman');
require('./superman');
Node.js, modül kodlarını kendi kapsamında çalıştırmak için IIFE (Immediately Invoked Function Expression) desenini kullanır. Bu, her modülün bir fonksiyon içerisinde sarılı olduğu ve bu fonksiyonun hemen çağrıldığı anlamına gelir. Bu yöntem, her modülün kendi özel kapsamını oluşturmasını sağlar.
(function() {
const superhero = "Batman";
console.log(superhero);
})();
(function() {
const superhero = "Superman";
console.log(superhero);
})();
Node.js'de her modül, kendi özel kapsamına sahiptir. Bu, modüller arasında değişken ve fonksiyon adı çakışmalarını önler.
Ana modül, require
fonksiyonu kullanarak diğer modülleri içe aktarabilir. İçe aktarılan modüller kendi kapsamında çalışır.
Node.js, IIFE desenini kullanarak modüllerin kodlarını kendi kapsamlarında çalıştırır. Bu, modüllerin bağımsızlığını ve güvenliğini artırır.
Modüler yapı, Node.js'de kodun yeniden kullanılabilirliğini ve sürdürülebilirliğini artırır.
Bu makalede, Node.js'de modüllerin kapsamı ve bu kapsamın nasıl sağlandığı üzerine temel bilgileri inceledik. Node.js'in modüler yapısının anlaşılması, uygulama geliştirme sürecinde verimlilik ve esneklik sağlar.