NPM ( NODE PACKAGE MANAGER )

NPM, nodejs’in en önemli yapılarından biridir. İlerleyen yazılarda modüller ve api kullanıyor olacağız.

Bu durumda, baktığımızda birçok paketin kullanıldığı bir uygulamada npm’a ihtiyacımız var.

Yüklerken 2 farklı yol izliyoruz. Global ve local yükleme seçenekleri.

Global: Tüm sistem üzerinden erişebileceğimiz şekilde yükleneceğini belirtmektedir. Yani yükleyeceğimiz

paketlerin “her zaman işimize yarayacak proje bağımsız” olmasına dikkat etmemiz gerekmektedir.

Local: Proje bazlı kullanılmak üzere kullanacağımız modülleri yüklemek için -g flagını kullanmadan yükleme

yapmamız yeterlidir.  ( npm install express ) gibi.

npm update -> güncelleme için kullanabiliriz.

npm uninstall express -> modülü kaldırmak için kullanabiliriz.

 

Visual Studio Code uygulamasında yeni bir klasör oluşturup içine app.js, index.html ve login.html oluşturdum. 8000 portunu kullanarak localde çalışan çok basit bir web server oluşturduk. view -> output diyerek terminali açabiliriz. node app.js enter diyerekte çalıştırabiliriz. Ardından tarayıcıdan localhost:8000 diyerek erişebiliriz. Terminalde tekrar ctrl+c yaparak durdurabiliriz. 2 farklı sayfaya istek geliyor ve yönlendiriyoruz.

 

console.log(__filename); // scriptin çalıştığı dosyanın absolute pathini belirtir.
console.log(__dirname); // scriptin çalıştığı dosyasında bulunduğu klasörün konumunu belirtir.
var http= require ('http'); 
var fs= require('fs');


var server = http.createServer(function(req,res){

    if(req.url=='/') //index.html'e yönlendirme
    {
        fs.readFile('index.html',function(err,data) 
        {
            res.write(data); // index.html içini okur.
            res.end("mesaj bitti");
        })
    }
    if(req.url=='/login') //login.html'e yönlendirme
    {
        fs.readFile('login.html',function(err,data)
        {
            res.write(data); //login.html içini okur.
            res.end("mesaj bitti");
        })
    }




});

server.listen(8000);

Şuan bu örneği herhangi bir modül kullanmadan yaptık. İlerleyen zamanlarda modüllerle de benzerini yapacağız.