2017-04-22 9 views
0

反応ルータとエクスプレスルートが一緒に働く方法を理解できません。ルータを反応させてGETコンフリクトを表現する

私はこの問題は、それがのindex.htmlにリダイレクトされますので、私のAPIがGETを使用することはできませんで、この

app.get('*', function(req, res) { 
    res.sendFile(path.resolve(__dirname) + '/server/static/index.html'); 
}); 

// routes 
const apiRoutes = require('./server/routes/api'); 
app.use('/api', apiRoutes); 

を持っています。ワイルドカードルートを削除すると、反応ルータが正常に動作しなくなります。 。

+2

注文を変更するだけです。あなたの 'api'ルートを最初に入れてから' * 'ルート – Panther

答えて

2

あなたapp.get('*')文が入ってくるすべての要求に合致しますあなたは簡単に文の順序を変更することで、あなたの問題を解決することができます

// routes 
const apiRoutes = require('./server/routes/api'); 
app.use('/api', apiRoutes); 

app.get('*', function(req, res) { 
    res.sendFile(path.resolve(__dirname) + '/server/static/index.html'); 
}); 

この方法は、そのパスの開始/apiを持つすべての要求は、あなたによって処理されますapiRoutesルータでは、他のすべてはアスタリスクで処理されます。

関連する問題