Yeni Başlayanlar Örneği
Aslen @ david-ellis'ten kontrol edileni beğeniyorum ve iyi olduğu için anlamak için derinlemesine çalışmalısınız. Ancak, basit bir örnek görmek isteyen yeni başlayanlar için daha basitleştirilmiş olmasını isterdim. İşte birinin bana göstermesini görmek isterdim.
Ekspres kullandığınız ve app.js dosyanızda listelenen birçok rotanızın bulunduğu tipik bir senaryo verelim. İçeriği şuna benzer:
app.js
app.get('/', function(req, res) {
res.render('index', { title : 'home' });
});
app.get('/contactus', function(req, res) {
res.render('contactus', { title : 'contact us' });
});
app.get('/anotherpage', function(req, res) {
res.render('anotherpage', { title : 'another page' });
});
50 rotanız olduğunu hayal edebilirsiniz, bu dosya oldukça kontrolden çıkabilir. Bu dağınıklığın bir kısmını app.js dosyasından çıkarmak güzel olurdu.
Yapmanız gereken şey, uygulamanızda bir "denetleyiciler" klasörü oluşturmaktır, böylece yapınız şimdi şöyle görünecektir:
app.js
/controllers
"/ Controllers" içinde "index.js" adlı bir dosya oluşturun ve ardından aşağıdaki kodu girin.
/controllers/index.js
module.exports.set = function(app) {
}
"App.js" dosyanızdan rota listelerinizi kesip yapıştırın ve bunları "/controllers/index.js" dosyasına yerleştirin.
App.js dosyanızda rotalarınızı kaldırın ve bunların yerine aşağıdakileri yapın.
app.js
var controllers = require('./controllers');
controllers.set(app);
Şimdi, "/controllers/index.js" dosyanızın da bölünmesini istiyorsanız, bir örnek daha ekleyelim, böylece Node.js kodunun nasıl organize edilebileceği konusunda gerçekte nasıl bir Rus Bebeği gibi davrandığını görebilirsiniz.
"/ Controllers" içine bir tane daha "accounts.js" dosyası ekleyin ve aşağıdakileri içine yerleştirin.
/controllers/account.js
module.exports.set = function(app) {
}
Şimdi "/controllers/index.js dosyanıza" account.js "referansı ekleyin
/controllers/index.js
var account = require('./account.js');
module.exports.set = function(app) {
account.set(app);
}
Tahmin edebileceğiniz gibi, her şeyi gittikçe daha küçük parçalara ayırmaya devam edebilir ve klasörlere daha fazla klasör koyabilir ve isterseniz "gerekli" ile referans alabilirsiniz. Aynı konsepti "/ lib" veya kitaplık dosyaları için de kullanabilirsiniz. "node_modules" bunu zaten yapıyor.
Bu, node.js ile programlamanın çok keyifli olmasının nedenlerinden sadece biridir.
Yönetilebilir Express 4 Yönlendirme örneği
İşte bununla ilgili 4 yolu ifade etmek için yanıtladığım başka bir gönderi.
Express.js iç içe yönlendirici ile dinlenin