google ist nicht in der react App mit create-react-app definiert

10

Ich erstelle eine react App mit dem cli-create-react-app. Sieht so aus, als hätte Facebook viele Dinge darunter gemacht, wie zum Beispiel das Webpack usw. Ich denke jedoch, dass es auch einige Einschränkungen hat. Ich versuche, dieses Tutorial zu befolgen, um Google Map API zu laden . Und wenn ich meinen Code debugge, kann ich sehen, dass die Google Map erfolgreich referenziert wurde. .

Aber dann klicke ich auf "Abspielen" und lasse die Anwendung beendet werden. Ich habe google ist kein Fehler von webpackHotDevClient.js definiert und meine Anwendung stürzt ab.

Da webpack die Dateien im laufenden Betrieb kompiliert, nehme ich an, dass es Schwierigkeiten hat, google map über https zu laden?

Irgendwelche Gedanken?

    
eded 01.05.2017, 05:52
quelle

2 Antworten

22

Wie in der Benutzerhandbuch , müssen Sie explizit alle globalen Variablen von window lesen. Setzen Sie dies an den Anfang der Datei und es wird funktionieren:

%Vor%

Der Grund, warum wir dies erzwingen, liegt darin, dass die Leute den Unterschied zwischen lokalen Variablen, importierten Modulen und globalen Variablen häufig falsch verstehen. Daher möchten wir im Code immer deutlich machen, wenn Sie eine globale Variable verwenden.

Dies hängt übrigens nicht mit Webpack oder HTTPS zusammen. Sie sehen dies, weil wir eine Linting-Regel verwenden, die unbekannte globale Variablen verbietet.

    
Dan Abramov 01.05.2017, 11:01
quelle
1

Ich denke, die Google-Variable ist bereits verfügbar, wenn Sie Google Map aus dem Skript in HTML importieren. Dieser Fehler, der durch Eslint verursacht wurde, können Sie versuchen, die folgende Zeile an den Anfang Ihrer Datei zu setzen, um ESlint zu deaktivieren

%Vor%     
voquockhanh 19.06.2017 16:09
quelle