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