Javascript ve ESLint'teki global değişkenler


104

Birden fazla javascript dosyam var ve bir dosyada diğerlerinden önce yüklenen bazı global değişkenler tanımladım. Sonuç olarak, ilkinden sonra yüklenen tüm dosyalar genel değişkene erişebilir. Ancak ESLint, global değişkeni "tanımlanmamış" olarak gösterir. ESLint'in kurallarını değiştirmek istemiyorum ve bu hata mesajlarından kurtulmanın zarif bir yolunu bulmak istiyorum. Bir ipucu? Teşekkürler


4
-> eslint.org/docs/user-guide/configuring#specifying-globals . ESLint'in belgeleri harika bir IMO, buna bir göz atmalısınız.
Felix Kling

Yanıtlar:


116

Dosya başına ESLint kurallarını kırmanın harika bir fikir olduğunu düşünmüyorum.

Sen doğrusu tanımlamalıdır globalsbölgesi .eslintrcveya package.json.

.Eslintrc için:

"globals": {
    "angular": true
}

Şunun için package.json:

"eslintConfig": {
    "globals": {
        "angular": true
    }
}

PS

Belgeleri okumak, geliştiriciler için zorunlu bir erdemdir

https://eslint.org/docs/user-guide/configuring#specifying-globals


7
trueDeğişkeni başka bir şeye atayabiliyorsanız ve falseyeniden atanmaması gerekiyorsa , global değişkeni olarak ayarladığınızı belirtmekte fayda var .
RedSparr0w

7
Belgeleri bağlamak, stackoverflow yanıtlarında çok takdir edilen bir erdemdir.
Romain G

@RomainG zaten aşağıda bağlantı var;) Ama sizin için bir tane ekleyeceğim
v-andrew

91

Globals'ı dosya başına veya yapılandırmanızda ekleyebilirsiniz. Yapılandırmanızı değiştirmek istemiyorsanız, her dosyaya kullanılmış globalleri eklemeniz gerekir.

JavaScript dosyanızın içinde bir açıklama kullanarak küreselleri belirtmek için aşağıdaki biçimi kullanın:

/* global var1, var2 */

Bu, iki global değişkeni tanımlar var1ve var2. İsteğe bağlı olarak, bu global değişkenlerin hiçbir zaman yazılmaması (yalnızca okunması) gerektiğini belirtmek istiyorsanız, her birini yanlış bir bayrakla ayarlayabilirsiniz:

/* global var1:false, var2:false */

http://eslint.org/docs/2.0.0/user-guide/configuring#specifying-globals

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.