簡體   English   中英

關閉特定行的 eslint 規則

[英]Turning off eslint rule for a specific line

為了關閉 JSHint 中特定行的 linting 規則,我們使用以下規則:

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

我一直在嘗試為 eslint 找到上面的等價物。

要禁用下一行:

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

或者使用單行語法:

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

查看eslint 文檔

您可以使用以下

/*eslint-disable */

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

/*eslint-enable */

這稍微隱藏了文檔的“配置規則”部分;

要禁用整個文件的警告,您可以在文件頂部添加注釋,例如

/*eslint eqeqeq:0*/

更新

ESlint 現在已更新,以更好的方式禁用單行,請參閱@goofballLogic 的優秀答案

您還可以通過在啟用(打開)和禁用(關閉)塊中指定它們來禁用特定規則/規則(而不是全部):

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

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

/* eslint-enable no-alert */

通過上面@goofballMagic 的鏈接: http ://eslint.org/docs/user-guide/configuring.html#configuring-rules

配置 ESLint - 使用內聯注釋禁用規則

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

回答

您可以使用內聯注釋: // eslint-disable-next-line rule-name

例子

// eslint-disable-next-line no-console
console.log('eslint will ignore the no-console on this line of code');

參考

ESLint - 禁用帶有內聯注釋的規則

一般的行尾注釋// eslint-disable-line后面不需要任何內容​​:無需查找代碼來指定您希望 ES Lint 忽略的內容。

如果您需要出於快速調試以外的任何原因忽略任何語法,那么您會遇到問題:為什么不更新您的 delint 配置?

我喜歡// eslint-disable-line允許我插入console以快速檢查服務,而我的開發環境不會因為違反協議而阻礙我。 (我通常禁止console ,並使用日志類 - 有時建立在console之上。)

或者對於下一行的多個忽略,使用逗號將規則串起來

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

要為以下文件的其余部分禁用單個規則:

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

要禁用特定行上的所有規則:

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

我的回答與其他人給出的答案類似,但顯示了您還可以如何在同一行上為自己添加評論。

// eslint-disable-line // THIS WON"T WORK

使用--如果您還需要在該行上寫評論(例如,為什么 eslint 被禁用)

// eslint-disable-line -- comment to self (This DOES work)

可以與特定的 eslint 規則結合使用來忽略:

// eslint-disable-line no-console -- comment to self (This Also Works!)

單行注釋在反應愚蠢的功能組件中對我不起作用,我通過添加 /* eslint-disable insertEslintErrorDefinitionHere */ 來使用文件級禁用

(通常,如果您正在使用 vs 代碼並收到 eslint 錯誤,您可以單擊出現錯誤的行,vs 代碼中會顯示一個燈泡,右鍵單擊燈泡並選擇任何禁用選項,vs 代碼將執行此操作你。)

要禁用特定行上的所有規則:

// @ts-ignore
$scope.someVar = ConstructorFunction();

您可以將錯誤的文件添加到項目中的 .eslintignore 文件中。對於所有 .vue 文件,只需添加 /*.vue

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM