2017-01-29 13 views
0

こんにちは同じルート上に2つの異なるフロントエンドアプリケーションを提供したいと思います。Express - 同じルート上に異なる静的フォルダを提供する

ユーザーは、HTTPヘッダーでトークンを送信し、トークンが保持する情報に基づいて、アプリケーションがどのサーバーを静的に処理するかを決定する必要があります。それは可能ですか?

私は既にトークンを解析し、ユーザーの役割を私に提供するミドルウェアを持っています。

優先行動は、それがあるもちろん

module.exports = function (app) { 
    app.get('/admin' function(req, res) { 
     if(req.headers.security.role === 1) { 
      // serve superadmin page 
     } else if(req.headers.security.role === 2) { 
      // serve user page 
     } else { 
      // serve forbidden page 
     } 
    }); 

}; 
+0

hjpotter92は、あなたがどのようにこの – hjpotter92

+0

可能です。 – Rouz

+0

がトークンを参照するには、あなたの 'req.headers'を解析したミドルウェアを書き、それに応じてファイルを提供しますを教えてください可能性@はい、それは – hjpotter92

答えて

0

になり、ここでnodejsとの要求で送信されたクッキーを持つ例です。

app.get('*', function (request, response, next) { 
    let app = request.cookies.app; 
    if (app) { 
    response.sendFile(path.resolve(__dirname, 'app.html')) 
    } else { 
    response.sendFile(path.resolve(__dirname, 'app2.html')) 
    } 
}); 
+0

これは2つの異なるファイルを提供します。しかし、私は役立つはずの2つの大きな反応のアプリがあります。だから、それはその背後に完全なフォルダ構造を持っています。 – Rouz

+0

あなたのアプリは反応ルータを使用しますか、またはサーバーがルーティングを処理しますか?反応がルーティングを処理する場合、必要なのはアプリのルートインデックスファイルのみです。 – Matko95

+0

Reactはアプリケーションのルーティングを処理しますが、index.htmlを提供する場合、jsファイルかカスタムcssファイルを含めることはできますか? – Rouz

関連する問題