Ich versuche, meine Express-App zu hapi.js zu migrieren, und ich habe Probleme mit meinen Routen. Ich möchte nur 2 GET: mein Index '/', und alles, was nicht '/' auf '/' umleiten.hapi.js - 404 Route VS statische Dateien Route
Express verwenden hatte ich dies:
// 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('/');
});
Ich habe Probleme mit hapi.js das gleiche Verhalten zu bekommen. Meine "statische Straße" sieht wie folgt aus:
server.route({
method: 'GET',
path: '/{path*}',
handler: {
directory: {
path: 'public',
listing: false
}
}
});
und meine "404 road" wäre:
server.route({
method: 'GET',
path: '/{path*}',
handler: function (request, reply) {
reply.redirect('/');
}
});
und ich bekomme diese Fehlermeldung:
Error: New route /{path*} conflicts with existing /{path*}
Wie kann ich dieses Problem lösen ?
Vielen Dank für Ihre Antwort, Ich mag Ihren Ansatz, um mit Statuscode umzugehen. Um Zeit zu gewinnen, entschied ich mich, meinen statischen Pfad zu ändern, um conflits mit 404 zu löschen. –
@ThibaudTallon, ich denke, das ist definitiv eine kluge Idee, wenn Ihre Anwendung es erlaubt. Obwohl Erweiterungspunkte leistungsstark sind, ist es eine gute Idee, ihre Verwendung zu minimieren, denke ich. –