2017-01-30 4 views
1

Можно ли сказать, запрос на мой Узел App req в:Угловое - Узел - Можно сказать узел, блок из запроса маршрутов из

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

От какой блок моих угловых маршрутах от (т.е. Я хочу иметь возможность определить, что из блока otherwise);

.when('/user', 
    {...} 
) 
.when('/login', 
    {...} 
) 
    .otherwise(
    {...} 
) 

Поэтому я хочу, потому что я хочу сделать что-то вроде:

app.get('/*', function(req, res) { 
    if (req is from otherwise block) { 
    res.status(400).sendFile(__dirname + '/site/index.html') 
    } else { 
    res.sendFile(__dirname + '/site/index.html') 
    } 
}); 

Единственное, что я могу иначе думать о том, чтобы создать массив из всех разрешенных маршрутов, но я не как дублирование: p

+0

Вы можете просто захватить 'req.originalUrl' – brandonscript

+0

@brandonscript - спасибо, но это еще не то, что я need - я обновил свой вопрос, почему я хочу его – userMod2

+1

Поскольку единственная связь между Angular и Node - это HTTP-запрос, который он делает, все, что вы можете сделать, это получить URL-адрес и проанализировать, из какого маршрута он пришел. В качестве альтернативы вы могли бы просто настроить маршруты Node, чтобы они совпадали, и тогда вы бы знали? – brandonscript

ответ

2

Поскольку единственная связь между Угловым и Узлом - это HTTP-запрос, который он делает, все, что вы можете сделать, это получить URL-адрес и проанализировать, с какого маршрута он пришел.

Я бы определить маршруты, которые вы знаете о в узле, а затем запасной вариант для 404 ошибки:

app.get(['/login', '/user'], function(req, res) { 
    res.sendFile(__dirname + '/site/index.html') 
}); 

app.get('*', function(req, res) { 
    res.status(404).sendFile(__dirname + '/site/404.html') 
}); 
+0

Спасибо - это маршрут, на котором я закончил - после нескольких дней расследования: p – userMod2