当我使用我之前声明的全局变量时,eslint显示错误

时间:2017-05-30 10:57:01

标签: node.js eslint

我在我的git钩子中放了一个预提交脚本,以便它在提交nodejs代码之前使用eslint。它仅分析要提交的文件。我在我的项目的主要入口点声明了一个全局变量。这就是我做到的。

global.foo = true

我现在面临的问题是,我在我的代码中的许多地方使用这个foo变量而没有使用全局扩展(在nodejs中有效)

if(foo)
    // do somethins
else
    // do nothing

代码完美无缺,因为这是对全局变量的有效使用。但是当我提交代码时,eslint在foo的所有用法上显示错误,表示它是未声明的。

error  "foo" is not defined  no-undef

我无法想到任何解决方案。请建议解决方法

2 个答案:

答案 0 :(得分:1)

官方docs描述了如何告诉关于全局的eslint:

/*global foo b:true*/

应该这样做。

answer添加了其他方法

答案 1 :(得分:1)

eslintrc文件中添加规则:

{
    globals: {
        'foo': true
    }
}