Javascript eslint:禁用警告-`已定义但从未使用'用于特定功能?

Javascript eslint:禁用警告-`已定义但从未使用'用于特定功能?,javascript,eslint,Javascript,Eslint,所以我有这个函数: function render(){ // do stuff } 我不调用该函数,因为它是作为事件函数从html调用的,如: <textarea id="input" class="input-box" onkeyup="render()"></textarea> 嗯,eslint没有看到这一点,因此它给出了警告(render已定义,但从未使用)。有没有办法指定在其他地方调用该函数?还是干脆把警告静音 例如,如果使用全局变量,我可以执行

所以我有这个函数:

function render(){
    // do stuff
}
我不调用该函数,因为它是作为事件函数从html调用的,如:

<textarea id="input" class="input-box" onkeyup="render()"></textarea>

嗯,
eslint
没有看到这一点,因此它给出了警告(
render
已定义,但从未使用)。有没有办法指定在其他地方调用该函数?还是干脆把警告静音

例如,如果使用全局变量,我可以执行
/*global SomeVar*/
,它将禁用未定义变量的警告。也许可以对示例中的函数执行类似的操作?

提供一个命令,告诉它忽略该规则(定义但从未使用的是
无未使用的变量规则)

如果您不想更改代码

ESLint提供了两种禁用方式,都是通过注释启用linting。您只添加了函数
/*eslint disable*/
之前和函数
/*eslint enable*/
之后的内容

示例

/* eslint-disable */ <-- Before function

function render(){
   // do stuff
}

/* eslint-enable */  <-- After function

/*eslint disable*/eslint有一个
caughtErrors
选项,用于捕获块参数验证,可以具有以下每个值:

  • none
    (默认)以避免检查这些错误
  • all
  • 因此,通过更改此选项,您可以简单地忽略未使用的错误。下面是一个通用示例:

    eslint no-unused-vars: ["error", { "caughtErrors": "none" }]
    
    您可以为此使用,例如:

    /* exported render */
    

    这告诉eslint可以不使用声明,这在语义上比仅使警告静音更正确。它也可以与某些其他工具(如minifier)一起使用,但这纯粹是我的猜测。

    这就是为什么您应该避免使用内联事件处理程序,而应该使用
    addEventListener('keyup',render,false)
    。如果使用uglifyjs之类的脚本,使用内联事件处理程序也会导致问题。虽然这在技术上可行,但Alex K.()的答案更有效,因为它针对定义未使用变量的特定行。如果使用配置文件,则可以使用
    “规则”:{“无控制台”:0,“无未使用变量”:0},
    这正是我想要的,在我自己的情况下,这是一个很好的解决方案,我正在逐步拆分一个大型的现有JS文件。
    /* exported render */