2016-07-25 13 views
5

Ich verwende Webpack für die einfache lokale Entwicklung. Ich arbeite auf einer einzigen Seite app, also habe ich historyApiFallback aktiviert:Der Versuch, eine URL mit einem Punkt zu routen führt zu 404 mit dem Webpack-Dev-Server

common.devServer = { 
    outputPath: path.join(__dirname, 'www', outDir), 
    historyApiFallback: true 
}; 

Jedes Mal, wenn ich versuche, auf eine URL zu durchsuchen, der einen Punkt (wie /ui/alerts/map.postplay) enthält, bekomme ich

kann GET /ui/alerts/map.postplay nicht

Wie kann ich webpack-dev-Server lassen Sie mich diese URLs verwenden überzeugen?

Antwort

9

UPDATE: Sie können jetzt nur gesetzt historyApiFallback an:

historyApiFallback: { 
    disableDotRule: true 
} 

(! Dank BenR dies für die Befestigung)

Das Problem liegt nicht in webpack-dev-server aber die historyApiFallback Config selbst (technisch, Webpack Anwendungen connect-history-api-fallback). Es gibt einen known bug, der sich auf URLs mit Punkten bezieht.

Sie die Config für historyApiFallback aktualisieren können alle URLs Perioden neu zu schreiben:

historyApiFallback: { 
    rewrites: [ 
    {from: /\./, to: '/'} 
    ] 
} 

Da dies funktioniert auf req.url, sollten Sie sich gut, auch wenn Sie lokale Entwickler auf etwas anderes als localhost über das tun Host-Datei usw.

+1

Sie können die Punktregel jetzt deaktivieren, wenn dies zu Problemen für Sie führt: https://github.com/bripkens/connect-history-api-fallback#disabledotrule – BenR