2016-05-06 8 views
2

In meiner React.js App habe ich eine Route wie folgt aus:Webpack Dev Server erlauben Pfade mit `dot` in ihnen

/foo/foo.bar/foo 

Wenn ich diese URL laden (Klick auf den Browser aktualisieren), ich bekomme:

Cannot GET /foo/foo.bar/foo 

ich denke, das Problem ist, dass Webpack Dev Server denkt, dass diese URL auf eine statische Asset bezieht und versucht, sie zu laden.

Wie kann ich dieses Problem beheben? (Ich brauche den Punkt)

Antwort

2

aktualisiert Antwort, weil ich nicht erkennen, dass Sie webpack Dev-Server wurden mit: Sie können einen Proxy in webpack.config.js machen, die Anfragen an/foo/foo weiterleitet. Bar. Sie können die Anfragen entweder an einen anderen Backend-Server weiterleiten, der Ihre index.html-Datei bereitstellt, oder Sie können den Proxy überschreiben und index.html direkt zurückgeben lassen. Beispielkonfiguration unter

proxy: [ 
    { 
     path: /\/foo\/foo.bar\/foo/, 
     bypass: function(req, res, proxyOptions) { 
      return '/index.html'; 
     } 
    } 
] 

Es ist ein bisschen hacky, aber es funktioniert.

+0

Danke ... Ich frage, wie man es mit Webpack Dev Server macht ... –

+0

@FezVrasta oh. Es tut uns leid. Verwenden Sie überhaupt kein anderes Backend? Wenn Sie es sind, können Sie die Anfrage nur stellvertretend übernehmen. Wenn nicht, können Sie wahrscheinlich den Proxy umgehen, um index.html zurückzugeben (siehe https://webpack.github.io/docs/webpack-dev-server.html#bypass-the-proxy). – hansn

+0

Nein, ich benutze nur Webpack Dev-Server –