Остановить Angular 2 от переопределения экспресс-маршрутизации

Я полностью озадачен тем, почему это происходит, и, похоже, нигде не могу найти ответ. По сути, мой запрос '/' никогда не попадает на мой сервер node.js (с использованием Express) и автоматически отправляет мой файл index.html. Когда я создал свой проект Angular 2, я специально переключился на маршрутизацию, так как мне это не нужно. Значит, маршруты вообще не должны быть видны под углом, да?

routes.js

app.get('/', function(req, res) {
    console.log("to index: " + req.user);
    if(req.user){
        res.sendfile("../../dist/WebAppAngular/index.html");
    } else {
        res.redirect('/login');
    }
});
app.get('/login', function(req, res) {
    res.sendfile("../../dist/WebAppAngular/login.html");
});

index.html

<!doctype html>
<link rel="stylesheet" href="static/css/bootstrap.min.css">
<script src="static/js/jquery-3.3.1.min.js"></script>
<script src="static/js/popper.min.js"></script>
<script src="static/js/bootstrap.min.js"></script>
<script src="static/js/Chart.min.js"></script>
<script src="static/js/all.js"></script>
<link rel="stylesheet" href="static/css/flags.css">
<link rel="stylesheet" href="static/css/all.css">
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>WebAppAngular</title>
  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
  <app-root></app-root>
</body>
</html>

Когда я делаю запрос к '/', он никогда не попадает в оператор print и просто отправляет страницу индекса. Даже когда я закомментирую все в app.get ('/'...), он все равно отправляет страницу входа. Так что именно Angular отправляет его, а не сервер. Я просмотрел свои запросы, используя Fiddler, и "/" возвращает "200 OK" и не перенаправляет на "/login". Однако, если я перейду непосредственно к '/login', запрос получит экспресс.

Я новичок в Angular и не могу найти причину, по которой это могло бы произойти. Я не использую модуль маршрутизации Angular вообще. Я пытался избавиться от <base href="/"> а также изменив href на что-то другое, и никто ничего не сделал.

Спасибо всем за любую помощь! Я могу редактировать больше моих файлов, если это необходимо. Я так растерялся, пожалуйста, помогите.

0 ответов

Другие вопросы по тегам