2017-01-09 24 views
22

我已经获得了多个JavaScript文件,并且我在一个文件中定义了一些全局变量,它在其他文件之前加载。 因此,第一个加载后的所有文件都可以访问全局变量。 但ESLint显示全局变量为“未定义”。我不想更改ESLint的规则,我希望找到摆脱这些错误消息的优雅方法。 任何线索? 谢谢Javascript和ESLint中的全局变量

+2

' - >'HTTP:/ /eslint.org/docs/user-guide/configuring#specifying-globals。 ESLint的文件是伟大的海事组织,你应该看看这个。 –

回答

22

我不认为每个文件骇客ESLint规则是一个好主意。

您应该在.eslintrcpackage.json中定义globals

对于.eslintrc:

"globals": { 
    "angular": true 
} 

对于package.json

"eslintConfig": { 
    "globals": { 
     "angular": true 
    } 
} 

PS

阅读文档是一种美德强制要求开发商

+4

值得注意的是,如果您可以将变量赋值给其他值,将全局变量设置为“true”,并且如果不应该重新赋值,则将其设置为“false”。 – RedSparr0w

18

您可以添加或者每个文件或全局在你的配置中。 如果您不想更改配置,则必须在每个文件中添加使用的全局变量。

要使用您的JavaScript文件中的注释中指定全局变量,请使用以下格式:

/* global var1, var2 */ 

这定义了两个全局变量,var1var2。如果你想选择指定这些全局变量不应该被写入(只读),那么你可以设置每一个错误的标志:

/* global var1:false, var2:false */ 

http://eslint.org/docs/2.0.0/user-guide/configuring#specifying-globals

+0

谢谢你的作品! –