Variabel global dalam Javascript dan ESLint

102

Saya punya banyak file javascript dan saya telah mendefinisikan beberapa variabel global dalam sebuah file yang dimuat sebelum yang lain. Akibatnya semua file yang dimuat setelah yang pertama memiliki akses ke variabel global. Namun ESLint menunjukkan variabel global sebagai "tidak ditentukan". Saya tidak ingin mengubah aturan ESLint dan saya ingin menemukan cara yang elegan untuk menghilangkan pesan kesalahan ini. Ada petunjuk? Terima kasih

marco_sap
sumber
4
-> eslint.org/docs/user-guide/configuring#specifying-globals . Dokumentasi ESLint adalah IMO yang bagus, Anda harus melihatnya.
Felix Kling

Jawaban:

115

Saya tidak berpikir meretas aturan ESLint per file adalah ide bagus.

Anda sebaiknya mendefinisikan globalsdalam .eslintrcatau package.json.

Untuk .eslintrc:

"globals": {
    "angular": true
}

Untuk package.json:

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

PS

Membaca dokumentasi adalah kebajikan wajib bagi pengembang

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

v-andrew
sumber
7
Perlu dicatat bahwa Anda menyetel variabel global ke truejika Anda dapat menetapkan variabel ke sesuatu yang lain dan falsejika tidak boleh ditetapkan ulang.
RedSparr0w
6
Menautkan dokumentasi adalah kebajikan yang sangat dihargai pada jawaban stackoverflow.
Romain G
@RomainG sudah ada tautan di bawah;) Tapi saya akan menambahkan satu untuk Anda
v-andrew
87

Anda dapat menambahkan global baik per file atau di konfigurasi Anda. Jika Anda tidak ingin mengubah konfigurasi Anda, Anda harus menambahkan global bekas di setiap file.

Untuk menentukan global menggunakan komentar di dalam file JavaScript Anda, gunakan format berikut:

/* global var1, var2 */

Ini mendefinisikan dua variabel global, var1dan var2. Jika Anda ingin menetapkan secara opsional bahwa variabel global ini tidak boleh ditulis (hanya dibaca), Anda dapat menyetelnya masing-masing dengan tanda palsu:

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

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

DarkLegend
sumber