Ich weise dem globalen Fensterobjekt eine Eigenschaft zu, aber wenn ich eslint ausführe, erhalte ich Folgendes:
"Fenster" ist nicht definiert
Ich sehe das hier in den Eslint-Dokumenten :
Im Folgenden wird Fenster als globale Variable für Code definiert, die die getestete Regel nicht auslösen soll:
valid: [
{
code: "window.alert()",
globals: [ "window" ]
}
]
Ich habe versucht, der Datei package.json so etwas hinzuzufügen, damit eslint "window" als globale Variable zulässt, aber ich muss etwas falsch machen. Aus den Dokumenten geht hervor, dass ich möglicherweise so etwas in einer separaten Datei ausführen muss. Gibt es jedoch eine Möglichkeit, einige zulässige globale Variablen direkt in der Datei package.json zu definieren?
global
, müssen Sie sicherstellen"node": true
, dass er in Ihrer"env"
Konfiguration festgelegt ist.Antworten:
Es gibt eine eingebaute
environment: browser
, die enthältwindow
.Beispiel
.eslintrc.json
:Weitere Informationen: http://eslint.org/docs/user-guide/configuring.html#specifying-environments
Siehe auch die
package.json
Antwort von chevin99 unten.quelle
.eslintrc
nichtpackage.json
/* eslint-env browser */
Ich habe es auf dieser Seite gefunden: http://eslint.org/docs/user-guide/configuring
In package.json funktioniert dies:
quelle
Fügen Sie
.eslintrc
im Projektstamm hinzu.quelle
.eslintrc.json
kann nur sein.eslintrc
Ihre .eslintrc.json sollte den folgenden Text enthalten.
Auf diese Weise kennt ESLint Ihre globalen Variablen.
quelle
Mir ist bewusst, dass er nicht nach der Inline- Version fragt . Aber da diese Frage fast 100.000 Besuche hat und ich hierher gekommen bin, um danach zu suchen, lasse ich sie hier für den nächsten Codiererkollegen:
Stellen Sie sicher, dass ESLint nicht mit dem
--no-inline-config
Flag ausgeführt wird (wenn Ihnen dies nicht bekannt vorkommt, können Sie wahrscheinlich loslegen ). Schreiben Sie dies dann in Ihre Codedatei (aus Gründen der Klarheit und Konvention wird es über die Datei geschrieben, funktioniert aber überall):Dies teilt ESLint mit, dass Ihre Arbeitsumgebung ein Browser ist, sodass es jetzt weiß, welche Dinge in einem Browser verfügbar sind, und sich entsprechend anpasst.
Es gibt viele Umgebungen , und Sie können mehrere gleichzeitig deklarieren, z. B. inline:
Wenn Sie fast immer bestimmte Umgebungen verwenden, legen Sie diese am besten in der Konfigurationsdatei Ihres ESLint fest und vergessen Sie sie.
Aus ihren Dokumenten :
Neben Umgebungen können Sie festlegen, dass alles ignoriert wird, was Sie möchten. Wenn es Sie vor der Verwendung warnt
console.log()
, Sie aber nicht davor gewarnt werden möchten, einfach inline:Sie können die Liste aller Regeln anzeigen , einschließlich der empfohlenen Regeln für bewährte Codierungsmethoden .
quelle
Wenn Sie Angular verwenden , können Sie Folgendes erreichen:
quelle