Sto provando a migrare la mia app Express su hapi.js e ho problemi con i miei percorsi. Voglio solo 2 GET: il mio indice '/', e tutto ciò che non è '/' per reindirizzare a '/'.hapi.js - 404 route VS file statici route
Utilizzando espresso ho avuto questo:
// 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('/');
});
ho problemi con hapi.js per ottenere lo stesso comportamento. La mia "strada statico" si presenta così:
server.route({
method: 'GET',
path: '/{path*}',
handler: {
directory: {
path: 'public',
listing: false
}
}
});
e la mia "404 su strada" sarebbe:
server.route({
method: 'GET',
path: '/{path*}',
handler: function (request, reply) {
reply.redirect('/');
}
});
e ottengo questo errore:
Error: New route /{path*} conflicts with existing /{path*}
Come posso risolvere questo ?
Grazie per la risposta, Mi piace il tuo approccio per gestire il codice di stato. Tuttavia, per guadagnare tempo, ho scelto di cambiare il mio percorso statico per eliminare conflits con 404. –
@ThibaudTallon, penso che sia sicuramente un'idea saggia, se la tua applicazione lo consente. Sebbene i punti di estensione siano potenti, credo sia una buona idea minimizzare il loro utilizzo. –