2017-02-18 41 views
0

我正在構建我的第一個多語言應用程序。通過Middelware成功檢測語言並將其附加到req.lang。作爲下一步,是否有任何方法可以本地化路由路徑?這對SEO很有用。根據語言動態設置rotue /路徑名稱

這裏有什麼樣的ususa方法?

const paths = { 
    en: { 
    index: 'home', 
    imprint: 'imprint' 
    }, 
    de: { 
    index: 'start', 
    imprint: 'impressum' 
    }, 
    nl: { 
    index: 'stchartje', 
    imprint: 'imprintjn' 
    } 

} 

router.get('/'+paths[req.lang].imprint, function(req, res, next) { 
    res.render('index', { title: content[req.lang].IMPRINT.HEADLINE }); 
}) 

那是什麼我想出現在,它不工作,雖然,因爲「請求」沒有在路由定義evailable。

回答

1

您可以使用params

router.get('/:slug', function(req, res, next) { 
    if (req.params.slug === paths[req.lang].imprint) { 
     res.render('index', { title: content[req.lang].IMPRINT.HEADLINE }); 
    } else { 
     next(); 
    } 

}) 
+0

謝謝哥們,這工作得很好。你認爲這在性能方面也可以嗎? – Seltsam

+0

我沒有看到任何性能問題。 –

+0

好,再次感謝好友! :-) – Seltsam