NodeJS: Module Kavramı

NodeJS projelerinde kullandığımız modüller, bir veya daha fazla javascript dosyalarına yazdığımız karmaşık veya basit kod yapılarıdır. Modüller içerisinde tanımlı olan her değişken kendi kapsamı içerisinde değerlendirilir. Yani bir modül içerisinde yer alan tanımlı değişken genel kapsama dahil bir değişkeni etkilemez. Modül kavramı sayesinde yazılan bütün işlevler ilgili projeye dahil edilerek istenildiği kadar kullanılabilir.

NodeJS yapılarında modüller 3 farklı alanda kategorilendirilebilir;

  • Core veya Node Modules: Herhangi bir indirme işlemi yapmadan, NodeJS kaynak dosyaları ile beraber gelen çekirdek yazılımlardır. Sadece projeye dahil edilerek kullanılır.

    • File System Module
    • Path Module
    • OS Module
    • Http Module
    • Url Module
  • Custom Modules: Javascript dosyalarına kendi yazdığımız modüllerdir.

  • 3rd Party Modules: Paket yöneticisi vasıtası indirip kullanabileceğimiz, dışarıdan başkaları tarafından oluşturulmuş modüllerdir.

    • ExpressJs
    • Mongoose
    • Electron

Custom (Yerel) Module Oluşturma ve Kullanımı

Modül tanımlama ve yazdığımız bu modülleri başka bir dosyada kullanmamız için module.export veya export anahtar kelimeleri kullanılır.
Şimdi firstModule.js adında bir .js dosyası oluşturalım ve ilk modülümüzü yazalım.
Oluşturduğumuz modülde ad,soyad ve yaş bilgilerini tutan değişkenler ve bu değerleri yazdıran “bilgiYazdir” adında fonksiyonumuz olsun.

1
2
3
4
5
6
7
8
9
module.exports=
{
ad: "Doğukan",
soyad: "Şahin",
age: 23,
bilgiYazdir: function () {
console.log(this.ad + " " + this.soyad + " " + this.age)
}
}

Yazdığımız modülü module.export ile dışarıda kullanılabilir hale getirdik. Şimdi başka bir dosyamızda bu modülü dahil ederek nesnemize ulaşmaya çalışalım.

  • Moduller “reguire(./)” anahtar kelimesi ile dahil edilir.

1
2
3
4
5
6
7
8
9
10
11
12
13
const myModule = require("./firstModule");

console.log(myModule.ad);
console.log(myModule.soyad);
console.log(myModule.age);

myModule.bilgiYazdir();

// Console:
// Doğukan
// Şahin
// 23
// Doğukan Şahin 23

NodeJS: Events Module NodeJS: Global Nesneler

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×