https://nodejs.org/en/ adresinden edinilebilen NodeJS ile belki de PHP ve ASP gibi sunucu programlama dillerinin sonu gelebilir. Google’ın Chrome için yaptığı V8 altyapısını kullanan, Javascript tabanlı hafif ve hızlı, bol kütüphane destekli bir sunucu programıdır.

Şimdilik bilgisayarımda neler var?

Screen Shot 02-27-16 at 09.50 AM

  • XAMPP 5.6 (PHP, MySQL sunucu https://www.apachefriends.org/)
  • Aslında zaten NodeJS kurulunca kendi sunucusu olacak, XAMPP’ı sadece MySQL sunucusu için kurdum. Fakat şimdilik veritabanı işlemleri yapmayacağız. www.firebase.com ile ücretsiz veritabanı desteği kullanılabilir.

Screen Shot 02-27-16 at 09.51 AM

 NodeJS Kurulum ve İlk Programı deneme:

  • nodejs.org adresinden 11 MB boyutundaki “5.7 Stable” sürümünü indirip kuruyoruz
    (bu sıra özel bir seçim yapmamıza gerek yok).
  • Komut isteminizi açıp “node – v” ile kurulumu test edebilirsiniz. “npm –v” ile de paket kurulumları yapabiliriz. Bu arada e: sürücüsünde nodejs klasörünü yaptım, içinde denemeler yapabiliriz.

Screen Shot 02-27-16 at 09.59 AMScreen Shot 02-27-16 at 10.01 AM

  • MVC (Model – View – Controller) zorunlu değil ama ilk deneme için express denen kütüphane kuralım, kolayca yeni uygulama oluşturabiliriz.
    npm install –g express-generator

Screen Shot 02-27-16 at 10.15 AM

  • -g parametresi ile global olarak express desteği sağladık. Yoksa kendi klasörümüzün içine node_modules klasörüne dosyaları indirecekti, projemizin şişmesini istemeyiz.

Screen Shot 02-27-16 at 10.22 AM

  • Express komutu ile ilkNode diye bir uygulama yapalım. Kendiliğinden gerekli klasör ve dosyaları oluşturur: express ilkNode –hogan –c less

Screen Shot 02-27-16 at 10.18 AM

  • Açıklamalarda dediği gibi projeniz için gereken bağımlılıkları ve nasıl çalıştırılacağı komutları var. “cd ilkNode” diyerek klasöre girip, npm install diyelim.
    Screen Shot 02-27-16 at 10.21 AM
  • Projede bir şey yazmadan 1000’e yakın dosya var, toplam boyut 8 MB oldu. Bu klasör düzenlendikten sonra yayınlanabilir. Ücretsiz bir sunucu için openshift.com kullanacağız.
  • package.json dosyasını (proje ayarları) inceleyelim:

Screen Shot 02-27-16 at 10.26 AM

  • Sunucunun çalışabilmesi için verilecek komut: node bin/www

Screen Shot 02-27-16 at 10.35 AM

  • Güvenlik duvarı uyarısı bir kereliğine çıkacak, komut satırında imleç alt satırda bekleyecektir.Screen Shot 02-27-16 at 10.29 AM
  • Herhangi bir kullanıcı sunucuya bağlanınca aşağıdaki gibi bilgileri görebiliriz, mesela favicon.ico 404 yani dosya bulunamadı diyor:
    Screen Shot 02-27-16 at 10.35 AM
  • localhost:3000 adresini bir tarayıcıda açabilirsiniz. 3000 port numarasını değiştirmek isterseniz bin/www dosyasında bu ayarı bulabiliriz:
    Screen Shot 02-27-16 at 10.31 AM

Screen Shot 02-27-16 at 10.32 AM

  • Bir değişiklik yaptığımızda komut istemindeki penceremizde Ctrl-C ile işlemi kırıp, tekrar node bin/www yapıyoruz. Yani sunucuyu restart ediyoruz.

Screen Shot 02-27-16 at 10.41 AM

  • Her değişiklikte tekrar sunucuyu kesip başlatmamak için nodemon kütüphanesini kuralım:

npm install –g nodemon

Screen Shot 02-27-16 at 10.59 AM

  • Artık devamlı komut satırına dönüp durudurup yeniden başlatmaya gerek kalmadı, projemizi çalıştırmak için:

nodemon bin/www
Screen Shot 02-27-16 at 11.08 AM

  • CSS ve diğer Javascript dosyalarımızı public klasörüne atabiliriz. Bootstrap ve jQuery dosyalarımızı uygun klasörlere atıp index sayfamızı tekrar görüntüleyelim. Bu kısmı adım adım anlatmama gerek yoktur.

Screen Shot 02-27-16 at 11.05 AM

Screen Shot 02-27-16 at 11.04 AM

jade olan paketi hjs olarak değiştirdim, bootstrap sitesindeki örneklerden bir index.hjs oluşturdum. Yani package.json, app.js ve index.hjs dosyaları üzerinde oynamalar yaptım.

Screen Shot 02-27-16 at 11.17 AM

  • Şimdi artık veritabanı ve yayınlamaya gelebiliriz. Ben doğrudan site yayınlamaya geçiyorum.
Reklamlar