Warum Reagieren Webpack Aufbau der Produktion zeigt Leere Seite?
Ich Baue eine app reagieren, und im moment webpack-dev-server
funktioniert Prima( der Hallo Welt text zeigt ), Aber webpack -p zeigt leere Seite. Für die Produktion bauen Sie Die Registerkarte "Netzwerk" unter chrome dev tools, zeigt index.html
und index_bundle.js
haben Größe 0 B an(siehe Bild) Aber Das ist eindeutig nicht der Fall HTML-Datei Größe: 227 B & index_bundle.js
Datei Größe 195Kb(siehe Bild)
Auch Chrome-Devtools-Elemente Registerkarte zeigt Folgendes(siehe Bild)
Mein webpack config-Datei sieht wie folgt aus:
- Was macht Ihr Produktion config Aussehen für webpack? json stringify die Konfiguration.
- Hinzugefügt ein screen-capture des webpack config
- Wenn man sich den Unterschied zwischen der Entwicklung/Produktion-Konfiguration, die Sie werden sehen, dass nur die Entwicklung Konfiguration enthält die
devServer
Knoten. Möglicherweise müssen Sie erwägen, das hinzufügen einer zusätzlichen Umwelt-argument zeigt, dass Sie dies tun möchten, Produktions-basierten hosting-und dann injizieren Sie die devServer Knoten entsprechend. - Um diesen Punkt zu beweisen kopieren Sie die
devServer
Knoten in derproductionConfig
. - Ich kopierte die devserver der productionConfig rechts oberhalb der plugins, und trotzdem das gleiche Ergebnis
- Sorry, nur stechen bei diesem, aber möglicherweise müssen Sie kopieren die
new webpack.HotModuleReplacementPlugin()
über Ihre Produktion der config zu. - Auch hier muss ich nicht ob das funktioniert alles, es dient zu beweisen, dass Sie es arbeiten. Ich empfehle fügen Sie ein weiteres env flag zum aktivieren/deaktivieren dieser Funktion.
- Gleichen Ergebnis. 🙁
- Lassen Sie uns weiter, diese Diskussion im chat.
- Ich war über die browser-history in meiner Strecken config-Datei, einmal habe ich geändert, um hashHistory den Aufbau der Produktion ist die Arbeit. Warum ist das so?
- Jasan, akzeptieren Sie bitte Ihre Antwort zur Behebung dieser Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich es herausgefunden, ich war mit browserHistory, ohne einen lokalen server. Wenn ich es geändert hashHistory es funktionierte. Um zu testen, webpack Produktion vor Ort mit reagieren-router, browser-history, die ich brauchte, um dies zu tun Konfigurieren eines Servers:
Dein server muss bereit sein, zu handhaben Reale URLs. Wenn Sie die app zum ersten mal geladen und in /wird es wahrscheinlich funktionieren, aber wie navigiert der Anwender herum und trifft dann auf aktualisieren unter /accounts/23 Ihr web-server erhält eine Anfrage auf /Konten/23. Sie werden es brauchen, um die URL und fügen Sie Ihrem JavaScript-Anwendung, die in der Antwort.
Einen express-app könnte so Aussehen:
Und nur im Falle das jemand bereitstellen auf FB mit reagieren-router mit browser-history dazu:
import {HashRouter as Router} from 'react-router-dom'
stattimport {BrowserRouter as Router} from 'react-router-dom'
. Ich versuche zum bereitstellen einer React.js Website auf Schwarm und nach mehreren Stunden, die hash-router war der einzige Weg, ich könnte es an die Arbeit!verwenden
statt
und vergessen Sie nicht, um es zu ersetzen Ihre Routen code
GitHub-Seiten keine Unterstützung für Router, die die HTML5 -
pushState
Geschichte-API unter der Haube (zum Beispiel, Reagieren Router mitbrowserHistory
). Dies ist, weil, wenn es eine neue Seite geladen werden, für die eine url wiehttp://user.github.io/todomvc/todos/42
, wo/todos/42
ist ein Front-End-route, die GitHub-Seiten-server gibt 404 zurück, weil er weiß nichts von/todos/42
. Wenn Sie möchten, fügen Sie einen router, um ein Projekt, gehostet auf GitHub Seiten, hier sind ein paar Lösungen:Wenn Sie Reagieren-Router, können Sie wechseln, um
hashHistory
für diesen Effekt, aber die URL wird länger und Ausführlicher (zum Beispielhttp://user.github.io/todomvc/#/todos/42?_k=yknaj
). Lesen Sie mehr über unterschiedliche Geschichte Implementierungen Reagieren Router.index.html
Seite mit einem speziellen redirect-parameter. Benötigen Sie noch einen404.html
- Datei mit der Umleitung code auf derbuild
Ordner, bevor Sie Ihre Projekt, und Sie müssen den code hinzufügen Umgang mit den redirect-parameterindex.html
. Sie finden eine detaillierte Erklärung zu dieser Technik in dieser Anleitung.