Есть ли способ переопределить Angular маршрутизатор, используя маршрутизацию Node.js - только для определенного пути? - PullRequest
0 голосов
/ 19 февраля 2019

В настоящее время у меня есть служба, которая обслуживается через Node для пользователя и использует маршрутизатор Angular.
Все отлично работает, за исключением одного: я хочу использовать маршрутизатор Node для одного конкретного пути вместо маршрутизатора Angular.,Как этого достичь?

В качестве временного решения я пытался использовать CORS, который был в некотором роде успешным, но я уверен, что это решение не может быть использовано.

Я видел этот пост Stackoverflow:
MEAN - Angular-маршруты, пересекающие маршруты NodeJS

Но, похоже, он нацелен на маршрутизатор Angular.

Входящий запрос для определенного пути (пример: запрос POST к "/ specificpath") должен обрабатываться Node.js, остальные запросы должны обрабатываться с помощью маршрутизатора Angular.

Спасибо.

1 Ответ

0 голосов
/ 19 февраля 2019

Обычно вы перенаправляете весь входящий трафик в файл index.html, чтобы Angular позаботился о маршрутизации:

app.get('*', function (req, res) {
    res.sendFile('/public/index.html');
});

Поскольку это рассматривается как зарегистрированное промежуточное ПО, вы можете просто добавить маршрутего не следует отправлять в Angular, указав маршруты, как вы обычно это делаете в node.js:

app.get('/specificpath', yourController.yourMethod);

Итак, полный пример кода:

app.get('/specificpath', yourController.yourMethod);
app.get('*', function (req, res) {
    res.sendFile('/public/index.html');
});
...