Я пытаюсь внедрить BrowserHistory для приложения React, использующего response-router. На основе the documentation, у меня в index.js
:BrowserHistory in Node/Express с API
let express = require('express');
let harp = require('harp');
let path = require('path');
let app = express();
app.use(express.static(__dirname + "/dist"));
app.use(harp.mount(__dirname + "/dist"));
// BrowserHistory code
app.get('*', function (request, response){
response.sendFile(path.resolve(__dirname, 'dist', 'index.html'));
});
let port = process.env.PORT || 3333;
app.listen(port,() => console.log("Listening on port " + port));
// ...
// Various app.get(...) endpoints below
// ...
Однако теперь это ловить все запросы API (например, я хочу, чтобы сделать запрос GET к /metric
) и возвращение index.html
вместо правильных данных в формате JSON.
Как реализовать версию BrowserHistory и иметь конечные точки API?
Вам необходимо определить 'app.get ('*', ...)' after' app.get (...) 'для конечных точек. –
@TimurBilalov спасибо! Я не понимал, что имеет значение порядок - счастлив принять ответ с вышеизложенным. –