2017-01-11 3 views
1

Ich wechselte zum Schreiben in es2015 Syntax und benutze Babel als transpiler. Plötzlich diese einfache Funktion funktioniert nicht mehr, es-lint wirft die Fehler:window.onload nicht definiert - es2015 möchte, dass alles global ist

Dokument nicht

definiert ist

Fenster ist nicht definiert

const jsLoaderClass = document.getElementsByClassName('js-loader')[0]; 

// hide logo on pageload 
window.onload = function jsLoader() { 
    jsLoaderClass.style.display = 'none'; 
}; 

es funktioniert nur, wenn ich gesetzt es zu global wie folgt:

const jsLoaderClass = global.document.getElementsByClassName('js-loader')[0]; 

// hide logo on pageload 
global.window.onload = function jsLoader() { 
    jsLoaderClass.style.display = 'none'; 
}; 
+0

'ich bin gerade auf es-2015 gewechselt '- wo und wie hast du diesen Schalter gemacht? 'global' ist undefined in jedem Browser, den ich ausprobiert habe –

+0

Entschuldigung, ich meinte, ich begann eslint mit babel zu benutzen, da ich einem Buch und Tutorials folge, die e6 verwenden, um den Code zurück zu es5 zu übertragen, funktioniert alles, aber eslint löst den Fehler aus. – HendrikEng

+2

ahh, gibt es einen "Schalter" in eslint (wie es in jshint gibt), um die Zielumgebung anzugeben, ist ein Browser? –

Antwort

4

Sie sollten das "env" in Ihrem es festlegen lint Konfigurationsdatei zu "Browser".

Verwandte Themen