2016-04-27 1 views
1

У меня есть несколько маршрутов, определенных в моем App компонента:Как использовать угловые 2 линии слэш с узлом express?

@routeConfig([ 
{ 
    path:'login', 
    name: 'Login', 
    component: Login 
}} 

И очень простой узел экспресс-погрузчик:

var express = require('express'); 
var app = express(); 

app.use(express.static('app')); 
app.use('/node_modules', express.static(__dirname + '/node_modules/')); 

app.get('/home', function(req, res, next) { 
    next(); 
}); 

app.listen(3000, function() { 
    console.log('Serverlistening on port 3000!'); 
}); 

Моя проблема в том, что происходит в «/ логин»/перехватывается узла экспресс и он говорит: «Не могу получить/войти». Я хочу, чтобы Angular2 справился с этим. Он отлично работал на сервере node lite, но не в экспресс.

Как настроить экспресс, чтобы игнорировать эти маршруты и разрешить Угловые обрабатывать их?

ответ

2

Вы можете попытаться настроить свой маршрут таким образом:

@routeConfig([ 
    { 
    path:'/login', // <---------- 
    name: 'Login', 
    component: Login 
    } 
]) 

Редактировать

Если вы попали в заявку напрямую, вам нужно иметь что-то, чтобы вернуть содержимое файла index.html для запрос в ваше экспресс-приложение.

Это должно быть сделано для каждого маршрута, определенного в Angular2. В противном случае у вас будет 404 ошибки.

Смотрите этот вопрос для более подробной информации:

+0

NOP, которая не работает. Я нажимаю URL прямо из браузера (не нажимая ни на какие ссылки). Проблема заключается в том, что Express сначала получает запрос, а затем не может найти совпадение, поэтому выдает ошибку. – Baconbeastnz

+1

Если вы нажмете запрос напрямую, вам нужно что-то вернуть содержимое файла index.html для запроса в ваше приложение Express ... –

+0

См. Этот вопрос: http://stackoverflow.com/questions/ 35284988/angular-2-404-error-happen-when-i-refresh-through-browser/35285068 # 35285068 –

Смежные вопросы