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


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


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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.