Express Application Generator Nedir? Nasıl Kullanılır?
Merhaba,
Node.js’de bir projeyi sıfırdan manuel olarak oluşturmak zaman ve enerji açısından oldukça maliyetli bir durum arz etmektedir. Halbuki sıfırdan tasarlanacak proje belli bir noktaya kadar varsayılan bir altyapıda bizlere sunulsa ve süreçte sürekli kullanacağımız route yapılanmaları, uygulama dosyaları ve katmansal yapıların klasör hiyerarşisi vs. en temel düzeyde bizlerin rahatça müdahale edip değiştirebileceği esneklikte bizi karşılasa muhtemelen yeni doğacak projemizde lüzumsuz emek israfından büyük ölçüde feregat etmiş olacağız.
Express Application Generator Nedir?
Express Application Generator bu ihtiyaca istinaden oluşturulmuş Node.js modülüdür. Bir uygulama başlarken, ilgili uygulamayı hızlıca ayağa kaldırmak için bir mimari sağlamaktadır.
Express Application Generator ile Hızlı Proje Oluşturma
-
1. Adım
İlk olarak ilgili modülü aşağıdaki kod sayesinde global olarak sistemimize yüklememiz gerekmektedir.npm install express-generator -g
-
2. Adım
Bu adımda ilgili modülümüze projemizin temellerini attıracağız. Bu işlem için;express abc
şeklinde kodumuzu çalıştırabiliriz. Bu kod, çalıştırıldığı dizin altında “abc” adında bir klasör oluşturacak ve içerisine proje dosyalarını atacaktır.
Eğer ki hiçbir klasör oluşturmadan direkt olarak ilgili klasöre proje dosyalarını oluşturmak istiyorsanız “.” kullanmanız yeterlidir.express .

İlgili komutu çalıştırdığımızda yukarıdaki ekran görüntüsünde olduğu gibi hangi dosya ve klasörlerin oluşturulduğunu görmektesiniz.Şimdi 3. adıma geçmeden önce burada oluşturulan yapıları inceleyelim.
-
bin Klasörü
Proje içerisindeki ana modülümüz olan “app.js” dosyasına bağımlılığı kaldıracak ve projenin başlatılmasını üstlenecek olan “www” isimli dosyayı barındırmaktadır.İlgili dosyanın içeriğine göz atarsak eğer;

ekran görüntüsünde görüldüğü üzere belli başlı çalışmalar yapılmıştır. Görüntüde farklı renklerle vurgulamaya çalıştığım gibi server oluşturmadan tutun port tanımlama fonksiyonlarına kadar tüm ayarlar gerçekleştirilmiştir. Burada dikkat edilmesi gereken husus 4. satırda bulunan, localde projenin yayınlanacağı port numarasının “3000” olarak belirtilmesidir.. -
public Klasörü
Projede barındırılacak dosyalar kategorik bir şekilde bu klasörde tutulacaktır.. -
routes Klasörü
Projede kullanılacak route yapılarının barındırılacağı dosyadır. Hali hazırda oluşturulmuş herhangi bir route dosyasının içeriğine göz atarsak eğer;var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); module.exports = router;gördüğünüz gibi önceden konuyla ilgili kaleme(klavyeye) almış olduğumuz makalelerimizde olduğu gibi Router nesnesi ile route yapısını farklı bir sınıfta organize etmektedir.
-
views Klasörü
İçerisinde projede kullanacağımız Pug dosyalarını barındıracak klasördür. Lakin Express Application Generator hali hazırda oluşturduğu projede Pug yapısının eski hali olan Jade formatında dosyaları oluşturmaktadır. Bizler hemen müdahalede bulunup bu dosyaların uzantısını Pug olarak ayarlayabiliriz.
-
app.js Dosyası
Projede ana modül görevini üstlenen dosyadır. İçeriğine göz atarsak eğer;

Kırmızı vurgulanan alanda route modülleri require edilmiş, turuncu vurgulanan alanda sayfanın görsellik alt yapısı belirtilmiş(burada jade olan değeri pug olarak değiştiriyoruz), yeşil vurgulanan alanda harici dosyalara hızlı erişebilmek için “public” klasörü static olarak belirtilmiş, sarı vurgulanan alanda require edilen route modülleri ana modüle route rotaları olarak bildirilmiş ve son olarak mor vurgulanan alanda ise middleware katmanları oluşturulmuş ve hata kontrol mekanizması sağlanmıştır. -
package.json Dosyası
Paket bağımlılık yönetimi için package.json dosyası oluşturulmuştur. İçeriğine göz atarsak eğer;{ "name": "ecmascript", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www" }, "dependencies": { "cookie-parser": "~1.4.3", "debug": "~2.6.9", "express": "~4.16.0", "http-errors": "~1.6.2", "morgan": "~1.9.0", "pug": "~2.0.3" } }şeklinde tasarlanmıştır. Burada “scripts” etiketi içerisinde tanımlanan “start” keywordüne bakarsanız eğer “bin” klasörü içerisindeki “www” dosyası node edilmektedir. Ayrıca jade’e özel (“jade”: “~1.11.0”) paketinin yerine pug için son versiyon paketini ekliyoruz.
-
bin Klasörü
-
3. Adım
Proje dosyaları oluşturulduktan sonra sıra package.json dosyasındaki tüm paketleri kurmaya geldi.npm install
-
4. Adım
Vee son olarak package.json dosyasındaki “scripts” etiketi içerisinde tanımlanan “start” keywordü ile projemizi çalıştıralım.npm start
İlgililerin faydalanması dileğiyle…
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…





1 Cevap
[…] CRUD işlemlerinin nasıl yapıldığını ele alacağız. İlk olarak bir adet Node.js projesi inşa ediyoruz ve ardından projeye gerekli paketleri(express, mongoose vs.) entegre […]