2016-12-18 2 views
2

私は急行で実行されている同型のアプリがあります。これは私がきたほとんどのボイラープレートとチュートリアルで取ら見てきたアプローチであるようマッチAPIと同型のルート

app.get('*', (req, res) => { 
    match(
     { routes, location: req.url }, 
     (error, redirectLocation, renderProps) => { ... } 

は現在、私は、ワイルドカードに一致していますが見た。

この問題は、今私は、このような/authと同型のアプリのためのルートに異なる方法で処理する必要が/apiなどの特定のルートを照合できるようにする必要があるということです。すなわち、/authルートはユーザを認証する必要があります。

これらのルートを指定できるようにする方法が必要ですが、同型アプリで使用されているルートのワイルドカードの一致を維持する方法が必要です。

私の代わりに、ワイルドカードマッチングを使用しての私は配列への同型アプリのルートのすべてを収集し、その代わりに表現するために提供できると考えてきました:

const isoRoutes = ['/home', '/about']; 
app.get([isoRoutes], (req, res)) 

私がもしわかりませんしかしこれを達成するためのより良い方法がありますか?あなたはこのようにコーディングでき

答えて

1

/auth/apiルートがアプリからのページを配信していない(つまり、それらをAJAX通話に使用している)場合は、別々のリクエストハンドラを用意する必要があります。

ワイルドカードgetの前に非ワイルドカードルートを指定する場合は、ワイルドカードを使用しても問題ありません。

+0

私はそれがうまくいくのだろうかと思った。ありがとうポール –

1

: -

req.url.match(//regular expression); 

マッチ()のみ正規表現で動作します。

+0

したがって、ワイルドカードの一致を保ち、コールバック内で 'req.url.match'を使用して' api'へのリクエストを処理することを意味しますか? –

+0

はい、正しいアプローチです。 – Codesingh

関連する問題