Belirli bir satır için eslint kuralını kapatma


1346

JSHint'te belirli bir satırın linting kuralını kapatmak için aşağıdaki kuralı kullanıyoruz:

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

Eslint için yukarıdaki eşdeğerini bulmaya çalışıyorum.


86
Kullanım eslint-disable-next-line:
Brylie Christopher Oxley

ESLint v7 ile başlayarak , aynı yorumda belirli bir kuralı devre dışı bırakma nedenini belirleyebilirsiniz .
Dan Dascalescu

Yanıtlar:


2156

Şimdi tek satır sözdizimini kullanabilirsiniz:

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

function Thing() {

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

}

Veya gerçek kodla aynı satırda yorum yapmak istemiyorsanız, sonraki satırı devre dışı bırakmak mümkündür:

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

İstenen dokümanlar bağlantısı: http://eslint.org/docs/user-guide/configuring.html#configuring-rules


4
Şimdi başka bir eslint sorunu alıyorum: uyarı No-inline-comments kodu ile beklenmedik yorum inline uyarı :(
arcseldon

52
Benim için harika çalışıyor. Ayrıca, özgüllüğü umursamıyorsanız, bunu yapabilirsiniz //eslint-disable-lineve verilen satır için tüm kuralları devre dışı bıraktığı görülür.
KhalilRavanna

7
Nedense bu benim için işe yaramıyor; 3.8.0 eslint çalıştırıyorum. / * Eslint-devre dışı * / ve / * eslint-etkinleştirme * / kullanmalıyım. Bunun neden olabileceğine dair bir fikrin var mı? Tek hat yaklaşımını seviyorum
SomethingOn

8
@SomethingOn aynı sorun vardı, ben açmıştı --no-inline-configki, hangiPrevent comments from changing config or rules
tibalt

4
"Gulp-eslint" ile çalışmıyor: "^ 3.0.1". Kullanmak zorundayım / * eslint-devre dışı * /
olefrank

528

Aşağıdakileri kullanabilirsiniz

/*eslint-disable */

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

/*eslint-enable */

Hangi belgelerin "kuralları yapılandırma" bölümüne biraz gömülü ;

Bir dosyanın tamamı için uyarıyı devre dışı bırakmak için dosyanın üstüne bir yorum ekleyebilirsiniz;

/*eslint eqeqeq:0*/

Güncelleme

ESlint artık tek bir satırı devre dışı bırakmanın daha iyi bir yoluyla güncellendi, bkz. @ GoofballLogic'in mükemmel cevabı .


5
BTW, //yorum sözdizimi çalışmıyor gibi görünüyor …
MonsieurDart

Ayrıca bir yan not, html bir satır için eslint devre dışı bırakma arıyordu. bu çalışıyor: thumbsup:
Adil H. Raza

222

Ayrıca devre dışı bırakabilir belirli kural / kuralların etkinleştirmek (açık) ve devre dışı bırakma (kapat) bloklar içinde belirterek (tümünden ziyade):

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

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

/* eslint-enable no-alert */

Yukarıdaki @ goofballMagic'in bağlantısı aracılığıyla: http://eslint.org/docs/user-guide/configuring.html#configuring-rules


6
Eslint yorumlarınızın eslint geçtiğinden emin olun! -> Expected exception block, space or tab after '/*' in comment.:)
Rimian

Ben bir arada kullanmak prettierve eslintkodumu biçimlendirmek için. Bu satır içi yorumlara izin vermez. Birçok /* eslint-disable-next-line ... */ifadeyi okumak ve kodda fark etmek zordur.
Bernhard Döbler

78

Gönderen Yapılandırma ESLint - Inline ile devre dışı bırakılıyor Kuralları Yorumlar :

/* 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

Genel satır sonu açıklaması,, // eslint-disable-linebundan sonra hiçbir şeye ihtiyaç duymaz: ES Lint'in görmezden gelmesini istediğinizi belirtmek için bir kod aramanıza gerek yoktur.

Hızlı hata ayıklama dışında herhangi bir nedenden dolayı sözdiziminin yoksayılması gerekiyorsa, sorunlarınız vardır: Neden delint config'inizi güncellemiyorsunuz?

Geliştirme ortamım, protokolün ihlali nedeniyle beni geri tutmadan hızlı bir şekilde hizmete // eslint-disable-linegirmeme izin vermekten zevk consolealıyorum. (Ben genellikle yasaklıyorum consoleve bazen üzerinde kurulu olan bir kayıt sınıfı kullanıyorum console.)


Suç yok, ama bu kabul edilen cevapla aynı çözüm, bu yüzden bunun nasıl yardımcı olduğundan emin değil misiniz?
bir darren

25
Bunu yapma. Hatta 5 hata varsa, bunların tümü yok sayılır. Her zaman açıkça göz ardı edilecek kuralı ayarlayın yoksa çocuklar dağınık hale gelecektir.
Filip Dupanović

3
@ FilipDupanović Programcılarınız tek bir kod satırında karışıklık yaratabilirse, eslint tek bir satır için omuzlarına bakmadığı için. Şirketinizde gerçekten yanlış giden başka bir şey var ... Bu da, hangi kuralı göz ardı etmek istediğinizi söylemek, devre dışı bırakma hattını neden ilk sıraya koyduğunuzu daha açık hale getiriyor.
Edwin Stoteler

2
@ FilipDupanović Belki eslint'in görmezden gelmesi için açık bir kural gerektirecek bir meta kuralı olmalıdır? Belki zaten öyledir.
Josef.B

1
@ Josef.B bunun için standart olmayan bir kural var: github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/… Gerçekten güzel çalışıyor.
Craig Harley

13

Veya bir sonraki satırda birden fazla yoksayma için, virgül kullanarak kuralları dize edin

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

9

Aşağıdaki dosyanın geri kalanında tek bir kuralı devre dışı bırakmak için:

/* eslint no-undef: "off"*/
const uploadData = new FormData();

1
veya/* eslint-disable no-new */
Илья Зеленько

6

Belirli bir satırdaki tüm kuralları devre dışı bırakmak için:

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

1

tek satır yorum benim için bir tepki aptal fonksiyonel bileşen içinde işe yaramadı, / * eslint-devre dışı insertEslintErrorDefinition Here * / ekleyerek dosya düzeyinde devre dışı bırakma kullandım

(normalde vs kodu kullanıyorsanız ve eslint hatası alıyorsanız, hata veren hatta tıklayabilirsiniz ve bir ampul vs kodunda görünecek, ampulü sağ tıklayıp herhangi bir devre dışı bırakma seçeneği belirleyecek ve vs kodu sen.)


-5

Projenizdeki .eslintignore dosyasına hata veren dosyaları ekleyebilirsiniz. Tüm .vue dosyaları için /*.vue ekleyin


4
tüm dosyayı değil bir satır istedi
Kevin Danikowski

Ayrıca eslint kullanmayı bırakabilir ... Eğer sadece sorun olan her dosyayı görmezden gelirseniz, neden onu kullanıyorsunuz?
Ruud Verhoef
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.