2016-05-17 29 views
1

所以我有一個節點/ Express服務器設置,並且我們正在從子目錄子域的定位,如過渡:Express服務器中語言子域的最佳實踐?

es.example.com  // old way 
www.example.com/es // new way 

這樣做了各種各樣的原因,但主要是爲了便於保存JWT登錄狀態跨越國際化內容。聲明路線時允許這種表達的最佳做法是什麼?

如果我只是設置了這樣的路線:

app.use('/search') 

然後,當我試着打了一個途徑,例如www.example.com/es/search,我只是將被重定向到www.example.com/search,在es將被剝離。但是,這可以像這樣修復:

app.use('*/search') 

我相信這肯定會有一些負面影響?人們通常如何通過Express在路線中允許前綴?

回答

2

如果使用快遞4,你可以使用modular routes創建一組然後可以爲各個不同的區域設置代碼共享航線。這將確保你只給你的路線之前申請的路線區域設置特定的代碼,而不是所有可能的單詞(如/fakePath/search)。

// routes.js 
var express = require('express'); 
var router = express.Router(); 

router.use('/search'); 

module.exports = router; 


// index.js 
var routes = require('./routes'); 

app.use('/en', routes); 
app.use('/es', routes); 
// ...