2015-06-12 19 views
6

Bir web uygulamasında ifade 'Router kullanıyorum. Ben yönlendiriciler zamanki yolu ekliyorum: Her yönlendirici için işleyicileri onlar olmuştur nerede bir fikrin yokYönelticinin bağlantı yolu ekspresinde nasıl bilinir?

app.use(router, '/myroutehere/'); 

(vb farklı dosyaları, farklı kaygılar,) "monte". Bu, şimdiye kadar, yönelticilerden biri (ve içerik dinamik olarak oluşturulmuş) için bir ZK oluşturmam gerektiği kadar iyi çalıştı. Göreli yolları işlemek için url.resolve kullanıyorum, ancak URL'nin ilk bölümünü eksik ediyorum (aksi halde, bağlantılar /myrouter/ yerine / olarak çözülecektir).

Yönlendiricinin bağlama yolunu farklı yerlerde kod yazmadan tanımanın bir yolu var mı?

router.get('/', function(req, res){ 
    // Need to know the mount path here or a way to resolve relative links 
    // to the mount path and make them absolute to the app 
}); 

cevap

5

"Router.mountpath" nedir?

http://expressjs.com/api.html#app.mountpath

Upd. Tamam, gerekir: <req.route.path>, <req.baseUrl>, <req.originalUrl>

sadece ekspres uygulamalar ve Yönlendirici nesne :(Ben şu anda tanımsız alıyorum ama her ihtimale karşı yine benim kod gözden geçirecek
+0

. ' , , ' –

+1

Tamam, gerek çalışmak gibi görünüyor –

+1

req.baseUrl, sonuncusu eksik olmamasına rağmen doğru olanı gibi görünüyor. Cevabınızı güncelleyebilir ve geçerli bir tanesi çok teşekkür ederim! –

İlgili konular