2017-12-25 23 views
2

私は簡易エクスプレスでCMSアプリケーションを開発しています。エクスプレスjsでマルチレベルルーティング

ドメイン/ F1/F2/F3/F4 /ページ1(Page1のビューをレンダリングします)

ドメイン/ N1/N2/PAGE2(PAGE2ビューをレンダリングします)

: 管理者は、このような彼のルートを設定することができます

基本的に、私が知る限り、私は静的コントローラを使用することはできません。

router.get *を使用してすべてのルートをキャッチします(レンダリングしたいビューを取得するためにgoto dbを使用する必要があります)? このようなダイナミックルーティングの正しいベストプラクティスアプローチは何ですか?事前に

おかげ

答えて

0
あなたは page1で終わる任意の経路にマッチし、次に応じてビューレンダリングするためにアスタリスクを使用することができます

// match routes that ends with 'page1' 
app.get('/*/page1', function (req, res) { 
    res.render('page1'); 
}); 

をそれとも、変数として、ルートハンドラを設定し、それを使用することができます複数のルートを処理する:

// create page1 route handler 
var hadnlePage1 = function (req, res) { 
    res.render('page1'); 
} 

app.get('/definePage1Route/:route', function (req, res) { 

    // GET /definePage1Route/f1%2Ff2%2Ff3%2Ff4%2Fpage1 
    // req.param.route => /f1/f2/f3/f4/page1 
    app.get(req.params.route, handlePage1); 

    res.end('done'); 

}); 
関連する問題