2016-12-15 38 views
0

我正在用MEAN堆棧構建一個博客應用程序,我有一些查詢數據庫的帖子然後使用pug.js模板引擎呈現它們的路線。路線看起來像我如何獲得Express路線以呈現特定頁面

router.get('/:name', function(req, res) { 
    //logic querying mongodb using name as 
    //req.params.id to search for a specific author of the posts and rendering 
}) 

這工作,但我想用router.get「/」接觸,功能等來呈現,例如我的聯繫人頁面...

它試圖查詢聯繫人,而不是呈現contact.pug文件,我該怎麼做才能讓這些頁面呈現?

+1

很難清楚地看到你在做什麼,沒有看到整個路由 –

回答

0

您添加路線的順序很重要。 Express將按照您添加的順序處理規則。所以最簡單的解決方案是將您的靜態路由(如/ contact)放在博客帖子的全部參數之前。

I.e.確保順序是這樣的:

router.get('/contact', ...); 
router.get('/:name', ...); 
+0

感謝的工作,但什麼是我添加/:ID? – user6016061

+0

router.get('/:id',...); – user6016061

+0

你可以在'/:name'路徑中手動處理(通過檢查'req.params.name'是一個ID還是隻是試圖在db中找到它兩次)。另一種方法是使用正則表達式來定義你的'/:id'路由,[見文檔](http://expressjs.com/en/api.html#router.METHOD)。 – svens

相關問題