Próbuję przenieść moją aplikację Express do hapi.js i mam problem z moimi trasami. Chcę tylko 2 GET: mój indeks "/" i wszystko, co nie jest "/", aby przekierować do "/".hapi.js - 404 trasa VS pliki statyczne trasy
Korzystanie Express, miałem to:
// static files
app.use(express.static(__dirname + '/public'));
// index route
app.get('/', function (req, res) {
// whatever
}
// everything that is not/
app.get('*', function(req, res) {
res.redirect('/');
});
mam problemy z hapi.js aby uzyskać takie samo zachowanie. Mój "static droga" wygląda następująco:
server.route({
method: 'GET',
path: '/{path*}',
handler: {
directory: {
path: 'public',
listing: false
}
}
});
i moją "404 drogi" będzie:
server.route({
method: 'GET',
path: '/{path*}',
handler: function (request, reply) {
reply.redirect('/');
}
});
i otrzymuję ten błąd:
Error: New route /{path*} conflicts with existing /{path*}
Jak mogę rozwiązać ten problem ?
Dzięki za odpowiedź, Podoba mi się twoje podejście do radzenia sobie z kodem statusu. Jednak, aby zyskać na czasie, postanowiłem zmienić swoją statyczną ścieżkę, aby usunąć konflikty z 404. –
@ ThibaudTallon, myślę, że to zdecydowanie mądry pomysł, jeśli aplikacja na to pozwala. Mimo że punkty rozszerzeń są potężne, dobrym pomysłem jest zminimalizowanie ich użycia. –