2012-12-18 13 views
5

app.all() ve app.use() arasındaki fark nedir? Belirli bir URI isteği yönteminin herhangi bir tür istendiğindeapp.all ve app.use arasındaki fark nedir?

+3

Belgeler ([hepsi] (http://expressjs.com/api.html#app.all), [use] (http://expressjs.com/api.html#app.use)) oldukça güzel her ikisi hakkında ayrıntılı. Tam olarak ne hakkında kafa karıştırıyorsun? –

cevap

7

app.all() adı verilecek (örneğin GET, POST, PUT veya DELETE.) Öte yandan

app.use() aklınıza gelebilecek tüm katman için daha yararlıdır bir yol ön ekine "bağlandığı" ve bu yolun altında bir URI istendiği zaman çağrılır. Örneğin, app.use('admin/', isAuthorized), "admin /" ("admin/settings" veya "admin/bing/bang" gibi) altında erişilen URI'ların yalnızca yetkili kullanıcılar tarafından talep edildiğinden emin olacak bir orta katman parçası olabilir. Bir mount yolu sağlamazsanız, varsayılan root URI "/" kullanılacaktır.

Bir topak (örneğin app.all('admin/*', isAuthorized)) kullanarak app.all() ile aynı şeyi yapabilirdi, ancak bazı katman için oldukça yararlıdır req.path itibaren monte URI sıyırma ekstra adım app.use() yapar.

İlgili konular