0
假設我有一個網址,像快遞路線 - 做一個url params.id最好的方式服務於靜態和動態內容
www.foo.com/abc
www.foo.com/huyr
... etc
其中「ABC」和「huyr」在這個例子中的ID和我」 d從數據庫中獲取關鍵是那個id的信息。
但是假設我也想靜態鏈接(即會提供靜態網頁),遵循相同的URL格式:
www.foo.com/about
www.foo.com/contact
什麼是做到這一點的最好方法是什麼?
現在我心裏有這樣的事情
exports.view = function(req, res) {
var id = req.params.id
switch (id) {
case 'about':
// load 'about' controller
break
case 'contact':
// load 'contact' controller
break
default:
// proceed with this function
}
}
這是最好的方法?有沒有更高效/有組織的方式來做到這一點?
導致去這種方式,但是,app.get(「/:身份證」,CB)似乎總是被調用(我把它作爲最後途徑)。我有它的控制檯日誌,也不管網址我去的,我看到的console.log輸出 – sqram
app.get('/:ID,CB)應該總是讓呼籲除它以外以上這樣的目錄(約/聯繫)。除非你從about/contact路由中調用'next()',否則express將嘗試匹配下一個東西,這將是'/:id'。所以,如果你的話,不要從你的'靜態'頁面路由中調用next()。 – Chris
我不知道。但這超出了這個問題的範圍。我會弄清楚。謝謝! – sqram