eslint:禁用警告 - "已定义但从未使用过"特定功能?

And*_*ius 12 javascript eslint

所以我有这个功能:

function render(){
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

我不调用该函数,因为它是从html调用的事件函数,如:

<textarea id="input" class="input-box" onkeyup="render()"></textarea>
Run Code Online (Sandbox Code Playgroud)

好吧eslint没有看到,所以它给出了警告(render已定义,但从未使用过).有没有办法指定在其他地方调用该函数?或者只是将警告静音?

例如,如果使用全局变量,我可以这样做/* global SomeVar*/,它将静音未定义变量的警告.也许在类似的例子中可以做类似的事情?

小智 18

只需将此规则放入.eslintrc.js文件中,请不要忘记重新启动服务器...

module.exports = {
      rules: {
        "no-unused-vars": "off",
      },
    }
Run Code Online (Sandbox Code Playgroud)

  • 问题指定“用于特定功能” (3认同)

Ale*_* K. 16

提供配置注释,告诉它忽略该规则(已定义但从未使用no-unused-vars规则)

function render() { // eslint-disable-line no-unused-vars
    // do stuff
    var x; // still raises defined but never used
}
Run Code Online (Sandbox Code Playgroud)


Ale*_*oya 10

如果您不想更改代码。

ESLint 提供了一种禁用方法,也提供了通过注释启用 linting 的方法。你只在函数之前/* eslint-disable */和函数之后添加/* eslint-enable */

例子

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

function render(){
   // do stuff
}

/* eslint-enable */  <-- After function
Run Code Online (Sandbox Code Playgroud)

更多信息


Kyu*_*chi 5

您可以为此使用exported注释块,例如:

/* exported render */
Run Code Online (Sandbox Code Playgroud)

这告诉 eslint 声明不被使用是可以的,这在语义上比仅仅沉默警告更正确。它可能也适用于某些其他工具,例如 minifiers,但这纯粹是我的猜测。