2016-06-15 14 views
0

私はアプリのようなブログを構築しています。管理ダッシュボードに投稿を作成し、公開ユーザーはカテゴリーとパーマリンク経由で公開された投稿にアクセスできます。express jsで経路を動的にロードする

私はエクスプレスアプリにルートを登録する方法について考えている問題があります。

私が気づいている解決策は、すべての投稿を取得し、forループを使用してアプリのinitにルートを登録することです。コントローラはかなりシンプルで、同じテンプレートをレンダリングするだけです。

posts.forEach((post)=> { 
    app.get(':' + post.category + '/:' + post.slug, renderPostGenericController); 
}) 

この解決法を熟考し、これを行うための他の方法があるかどうかを知りたいと思います。あなたは両方のパラメータにアクセスすることができますあなたのルートハンドラで、

app.get('/post/:category/:slug', (req, res) { 
    // req.params.category 
    // req.params.slug 
    ... 
}); 

この方法:

答えて

3

あなたは1つのルートを登録することができます。これで、提供されたカテゴリとスラッグでDBから(またはどこにでも)正しい投稿を取得できます。

+0

基本パスを持たずにこれを行う方法を考えていました。私の望むURLは 'www.example.com/javascript/introduction-to-javascript'でなく、' www.example.com/post/javascript/introduction-to-javascript'でなければなりません。 – hisabimbola

+0

あなたは 'app.get( '/:category /:slug''? –

関連する問題