Node.js Üzerine – 4. Bölüm (NPM ve Node.js Modülleri)

 

Merhaba dostlar, bugün Node Package Manager (NPM) ve modüller hakkında konuşarak Node.js‘yi anlamaya devam edeceğiz. Dördüncü bölümümüze lafı çok uzatmadan başlayalım.

Node.js hakkında çalışmaya başladığımızdan beri biliyorsunuz ki modülleri kullandık, ama şimdiye kadar kullandıklarımız hep Node.js ile gelen modüllerdi. Bunların dışında binlerce modül (hep modül diyorum ama bunlara kütüphane de diyebiliriz.) bizim kullanmamızı beklemekte.

Kendi modülümüzü oluşturmak ve çağırmak:

Dostlar, modül yapısının güzelliklerinden biri aynı diğer OOP (nesne yönelimli) dillerdeki sınıf yapısı gibi kullanılabiliyor olması. Örneğin bir test.js modülü oluşturalım. Bunun için yapmamız gereken projemizin dizinine yeni bir .js dosyası oluşturmak ve adını test koymak.

Şimdi projemizde bu modülü nasıl çağırırız onu konuşalım, öncelikle biliyorsunuz ki test.js’yi yani yeni modülümüzü nereye koyduğumuz önemli bu durumda. Biz, projemizin olduğu dizine koyduğumuzdan başlayalım:

1
var test = require('./test'); //Aynı klasörden çağırmak.

Şimdi bir alt klasöre koyarsak nasıl çağıracağımıza bakalım:

1
var test = require('../test'); // parent klasörden çağırmak.

Şimdi ise en mantıklı olanı yapıp, node.js’nin modüllerimizi depolamak için kullandığı node_modules adlı klasöre attığımızda nasıl çağıracağımıza bakalım:

1
var test = require('test'); // node_modules klasöründen çağırmak.

Bu aşamayı atladığımıza göre, modüllerin yapısına bakalım artık.

Aslında modüller bildiğimiz javascript, içerisinde kullanmak için tasarladığımız fonksiyonlar var. Tek farkı ise dışarıdan erişilebilir olması için modülün içerisindeki fonksiyonlarımızı exportlamamız.

Şimdi bir örnek verelim, test.js’yi node_modules klasörünün içine atalım ve sonra istediğiniz bir text editöründe açalım.

test.js:

1
2
3
4
5
6
7
8
9
10
11
12
var selam = function() {

console.log("Selam!");
}

var gulegule = function() {

console.log("Güle Güle!");
}

exports.selam = selam;
exports.gulegule = gulegule;

Dosyamızın içini üstteki gibi doldurduğumuzda, içinde iki fonksiyon olan (selam() ve gulegule()) bir modülümüz olacak. Modülün üst kısmı bildiğimiz fonksiyon tanımlama işlemi, altta ise modülün dışarıdan erişilebilir olmasını istediğimiz fonksiyonlarını export etme işlemini yaptık.

Modülümüzde oluşturduğumuz her fonksiyonu illaki export etmemize gerek yok, dışarıdan erişilmesine gerek olmayan sadece o modül içinde başka fonksiyonlar tarafından kullanılacak olan fonksiyonların export edilmesi anlamsızdır zaten.

Şimdi modülümüzü çağırma kısmına geçelim, projenin ana dosyasını “app.js” yi açalım.

app.js:

1
2
3
4
var testObj = require('test');

testObj.selam();
testObj.gulegule();

Yukarıdaki kodda “test” modülümüzü, “require” komutu ile ekledik ve “testObj” adında bir objeye bağladık. Bu objemiz ile modülün içinde export ettiğimiz her fonksiyona erişimimiz olabilmekte. Yukarıda da yaptığımız gibi selam() ve gulegule() fonksiyonlarımızı çağırmış olduk.

NPM (Node Package Manager):

NPM, adından da anlayacağımız üzere node.js‘nin modül yöneticisi. Yani eğer bir modülü biz yazmadıysak ve node.js nin çekirdeğinde de yoksa (url, http gibi modüller çekirdekte mevcut olduğu için NPM’siz kullanabilmiştik) o zaman NPM yardımı ile yüklememiz lazım.

NPM’deki modülleri node.js topluluğundaki yazılımcılar tarafından yazılmış kütüphaneler olarak görebiliriz.

NPM’de modül aramak:

Örneğin mysql bağlantısı için bir modül aramak istiyoruz, yapmanız gereken windows console‘u (cmd) açmak ve aşağıdaki kodu çalıştırmak:

1
npm search mysql

Karşınıza birden fazla modül çıkacaktır, hangisi seçmek, ne istediğinizi bilmenize kalıyor.

NPM modülü yüklemek:

Aradığınız modülü bulduktan sonra yapmanız gereken cmd’yi açarak, proje klasörümüzün dizinine gelmek ve aşağıdaki komutu yazmak. Örneğin “express” modülünü projemize ekleyelim:

1
npm install express

Bu kadar basit dostlar, yeni modülümüzü ekledikten sonra “node_modules” klasöründe eklendiğini görebilirsiniz. Aynı şekilde “package.json” dosyasının içinde “dependencies” kısmında da görebilirsiniz.

Evet dostlar bugün node.js yazılarımızın 4. bölümünü bitirdik. Umarım faydalı olmuştur. Kendinize iyi bakın.

ahmet

Ahmet Kılınç - Software Developer

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.