Node.js Bazı Temel Özellikleri

Global — Yerel Değişkenler

JavaScript’te, öntanımlı olarak tüm değişkenler globaldir. JavaScript’in en çok eleştirilen noktalarından biri de budur. Bu durum Node.js’te tamamen farklıdır. Öntanımlı olarak tüm değişkenler yereldir. Global olması istenen değişkenler global sözcüğü ile global olarak tanımlanır.

Modüllerin içe ve dışa aktarılması

JavaScript’in sakıncalı yönlerinden biri de dışarıdaki modüllerin program içine katılmasını sağlayacak bir yol olmamasıydı. Betikleri (script) sadece HTML kodları içinden çağırma olanağı vardı.

Node.js’te ise modülleri program içine aktarma ya da başka bir programın kullanımına sunma olanağı vardır. Tanımlanan bir modülü dışa aktarmak için;

exports.ad = nesne;

notasyonu kullanılır.

var mesaj={

bul: function(req,res,next){

},
ekle: function(req,res,next){

},

format:'baslik|tarih|yazar'
};
exports.mesaj = mesaj;

Yukarıdaki modülü dışa aktarmak içinse require fonksiyonu aşağıdaki biçimde kullanılır:

var  mesaj = require('./yol/mesaj.js');

Burada yol, mesaj.js'in bulunduğu dizine giden yolu tanımlamaktadır. Özellikle bir node.js uygulama çatısı olan express.js'te bazı durumlarda bir yapıcı (constructor) çağırmak daha uygundur.

module.exports = function(app){
app.set('port', process.env.PORT||3000);
app.set('views', '_dirname+'/views');
app.set('view engine', 'jade');
return app;
}

Yukarıdaki modülü dışa aktaracak dosya ise aşağıdaki gibidir:


var app = express();
var config = require('./config/index.js');
app = config(app);

Tampon alan (Buffer)

Node.js, dört ilkel tip (Boolean, Number, String, RegExp), dizi, fonksiyon ve nesneler için tampon belleği kullanarak yüksek hız sağlar.

_dirname

_dirname, global bir değişkenin çağrıldığı dosyaya giden mutlak yoldur.

process.cwd

process.cwd ise bu betiği çalıştıran işleme giden mutlak yoldur.

Node.js’in pek çok faydası vardır. Bunlardan en temel olanları şu şekildedir:

  • Olay tarafından yönlendirilen (event driven) ve bloke olmayan (non-blocking) özellikleri nedeni ile eşzamanlı bağlantıları rakiplerine göre çok daha hızlı ve etkin şekilde işler.
  • Hem istemci (client) hem de sunucu (server) tarafında aynı dili (JavaScript) kullanmanın büyük kolaylığına sahiptir.
  • MongoDB gibi veritabanları kullanıldığı zaman, hem istemci hem de sunucu tarafında %100 JavaScript kullanır.
  • Açık, etkin API kullanma olanağı sağlar.
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.