Mematikan aturan eslint untuk jalur tertentu


1346

Untuk mematikan aturan linting untuk baris tertentu di JSHint kami menggunakan aturan berikut:

/* jshint ignore:start*/
$scope.someVar = ConstructorFunction();
/* jshint ignore:end */

Saya telah mencoba mencari yang setara dengan di atas untuk eslint.


86
Gunakan eslint-disable-next-line:
Brylie Christopher Oxley

Dimulai dengan ESLint v7, Anda dapat menentukan alasan untuk menonaktifkan aturan yang diberikan dalam komentar yang sama.
Dan Dascalescu

Jawaban:


2157

Anda dapat menggunakan sintaks baris tunggal sekarang:

var thing = new Thing(); // eslint-disable-line no-use-before-define
thing.sayHello();

function Thing() {

     this.sayHello = function() { console.log("hello"); };

}

Atau jika Anda tidak ingin memiliki komentar di baris yang sama dengan kode aktual, dimungkinkan untuk menonaktifkan baris berikutnya:

// eslint-disable-next-line no-use-before-define
var thing = new Thing();

Tautan dokumen yang diminta: http://eslint.org/docs/user-guide/configuring.html#configuring-rules


4
Sekarang saya mendapatkan masalah eslint lain: peringatan Inline komentar tak terduga dengan kode no-inline-comments :(
arcseldon

52
Bekerja bagus untukku. Juga jika Anda tidak peduli dengan kekhususan yang bisa Anda lakukan //eslint-disable-linedan tampaknya menonaktifkan semua aturan untuk baris yang diberikan.
KhalilRavanna

7
Untuk beberapa alasan ini tidak berhasil untuk saya; Saya menjalankan eslint 3.8.0. Saya harus menggunakan / * eslint-disable * / dan / * eslint-enable * /. Adakah yang tahu mengapa ini terjadi? Saya suka pendekatan garis tunggal
SomethingOn

8
@ Sesuatu yang memiliki masalah yang sama, ternyata saya telah --no-inline-configmenghidupkan, yangPrevent comments from changing config or rules
tibalt

4
Tidak bekerja dengan "gulp-eslint": "^ 3.0.1". Saya harus menggunakan / * eslint-disable * /
olefrank

529

Anda dapat menggunakan yang berikut ini

/*eslint-disable */

//suppress all warnings between comments
alert('foo');

/*eslint-enable */

Yang sedikit mengubur bagian "aturan konfigurasi" dari dokumen ;

Untuk menonaktifkan peringatan untuk seluruh file, Anda dapat memasukkan komentar di bagian atas file misalnya

/*eslint eqeqeq:0*/

Memperbarui

ESlint kini telah diperbarui dengan cara yang lebih baik menonaktifkan satu baris, lihat jawaban luar biasa @ goofballLogic .


5
BTW, sepertinya //sintaks komentar tidak berfungsi ...
MonsieurDart

Juga sebagai catatan, saya sedang mencari untuk menonaktifkan eslint untuk satu baris di html. ini bekerja: thumbsup:
Adil H. Raza

223

Anda juga dapat menonaktifkan aturan / aturan tertentu (bukan semua) dengan menentukannya di blok aktifkan (terbuka) dan nonaktifkan (tutup):

/* eslint-disable no-alert, no-console */

alert('foo');
console.log('bar');

/* eslint-enable no-alert */

melalui tautan @ goofballMagic di atas: http://eslint.org/docs/user-guide/configuring.html#configuring-rules


6
Pastikan komentar eslint Anda lulus dari eslint! -> Expected exception block, space or tab after '/*' in comment.:)
Rimian

Saya menggunakan kombinasi prettierdan eslintuntuk memformat kode saya. Ini tidak memungkinkan untuk komentar sebaris. Banyak /* eslint-disable-next-line ... */pernyataan yang sulit dibaca dan ditemukan dalam kode.
Bernhard Döbler

78

Dari Mengkonfigurasi ESLint - Menonaktifkan Aturan dengan Komentar Inline :

/* eslint-disable no-alert, no-console */


/* eslint-disable */

alert('foo');

/* eslint-enable */


/* eslint-disable no-alert, no-console */

alert('foo');
console.log('bar');

/* eslint-enable no-alert, no-console */


/* eslint-disable */

alert('foo');


/* eslint-disable no-alert */

alert('foo');


alert('foo'); // eslint-disable-line

// eslint-disable-next-line
alert('foo');


alert('foo'); // eslint-disable-line no-alert

// eslint-disable-next-line no-alert
alert('foo');


alert('foo'); // eslint-disable-line no-alert, quotes, semi

// eslint-disable-next-line no-alert, quotes, semi
alert('foo');


foo(); // eslint-disable-line example/rule-name


31

Komentar umum akhir baris,, // eslint-disable-linetidak memerlukan apa pun setelahnya: tidak perlu mencari kode untuk menentukan apa yang Anda ingin ES Lint abaikan.

Jika Anda perlu mengabaikan sintaks karena alasan apa pun selain debugging cepat, Anda memiliki masalah: mengapa tidak memperbarui konfigurasi delint Anda?

Saya senang // eslint-disable-linemengizinkan saya memasukkan consolepemeriksaan cepat atas suatu layanan, tanpa lingkungan pengembangan menghambat saya karena pelanggaran protokol. (Saya biasanya melarang console, dan menggunakan kelas logging - yang terkadang dibangun berdasarkan console.)


Jangan tersinggung, tetapi ini adalah solusi yang sama dengan jawaban yang diterima, jadi tidak yakin bagaimana ini membantu?
a darren

25
Jangan lakukan ini. Jika Anda memiliki 5 kesalahan di telepon, semuanya akan diabaikan. Selalu secara eksplisit mengatur aturan yang harus diabaikan atau anak-anak akan membuat kekacauan.
Filip Dupanović

3
@ FilipDupanović Jika programmer Anda dapat membuat kekacauan dalam satu baris kode, hanya karena eslint tidak melihat dari belakang ke belakang untuk satu baris. Benar-benar ada sesuatu yang salah di perusahaan Anda ... Yang mengatakan, mengatakan aturan apa yang ingin Anda abaikan membuatnya lebih jelas mengapa Anda meletakkan garis menonaktifkan di sana di tempat pertama.
Edwin Stoteler

2
@ FilipDupanović Mungkin eslint harus memiliki aturan meta untuk meminta aturan eksplisit untuk diabaikan? Mungkin sudah.
Josef.B

1
@ Josef.B ada aturan non-standar untuk itu: github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/… Ia bekerja dengan sangat baik.
Craig Harley

13

Atau untuk beberapa pengabaian di baris berikutnya, masukkan aturan menggunakan koma

// eslint-disable-next-line class-methods-use-this, no-unused-vars


6

Untuk menonaktifkan semua aturan pada baris tertentu:

alert('foo'); // eslint-disable-line

1

komentar baris tunggal tidak bekerja untuk saya di dalam komponen fungsional yang bodoh, saya telah menggunakan penonaktifan level file dengan menambahkan / * eslint-disable insertEslintErrorDefinitionHere * /

(biasanya jika Anda menggunakan kode vs dan mendapatkan kesalahan eslint, Anda dapat mengklik pada baris yang memberikan kesalahan dan bola lampu akan muncul dalam kode vs, klik kanan pada bola lampu dan pilih opsi penonaktifan dan kode vs akan melakukannya untuk kamu.)


-5

Anda dapat menambahkan file yang memberikan kesalahan pada file .eslintignore di proyek Anda. Seperti halnya semua file .vue, tambahkan saja /*.vue


4
ia meminta satu baris, bukan seluruh file
Kevin Danikowski

Dia juga bisa berhenti menggunakan eslint ... Jika Anda hanya akan mengabaikan setiap file yang memiliki masalah mengapa menggunakannya sama sekali?
Ruud Verhoef
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.