我是ESLint的新手,我已成功将ESLint与IntelliJ集成。
开箱即用,我对ESLint的集成无法识别node
,但对文档的基本审查表明,通过在项目文件夹的根目录下创建名为.eslintrc
的配置文件(使用正确的IntelliJ设置以访问此文件)并设置"node":true
,ESLint识别node
(即,以下完整.eslintrc
有效。)
// Contents of .eslintrc at root of project - support for Node and jQuery
{
"env" : {
"node" : true,
"jquery" : true
},
}
但是,ESLint仍然无法识别require()
,如此屏幕截图所示:
我已经在合理的时间内尽力寻找解决如何让ESLint
识别require()
的基本问题的解决方案。特别是,我发现了一个可能的提示here,它建议在{我假设的} "amd":false
文件中添加.eslintrc
- 但是没有去。
这似乎很基本。如何让.eslintrc
识别require()
?
(如果在您的回答中,您可以提供有关如何涵盖更多一般案例的见解,那也会有所帮助。谢谢!)
答案 0 :(得分:65)
将amd
添加到env
内的.eslintrc
,您可以根据define()
规范使用require()
和amd
:
{
"env": {
"amd": true
}
}
答案 1 :(得分:21)
问题不在于ESLint。如果仔细查看您的消息,则会显示 JSHint 。
由于您正在尝试配置ESLint,因此最简单的解决方案是从IDE中禁用或删除JSHint插件。
如果您仍想将JSHint与ESLint一起使用,则可以执行以下操作:
单个文件解决方案:在文件顶部添加/* global require */
。
所有文件的常规解决方案:将"node": true
行添加到.jshintrc
。
答案 2 :(得分:4)
“amd”: env 中为true 根据amd规范将require()和define()定义为全局变量。
请参阅http://eslint.org/docs/user-guide/configuring#specifying-environments
答案 3 :(得分:0)
如果你在 Mac 上惊人的 VS Code 中使用了惊人的 ESLint,
只需转到~
(即/users/your-name
)
编辑.eslintrc.json
(当然你可以在VSCode中编辑它!)
您可能会添加
"node": true
如果您正在使用节点,或者可能是此处的答案中所述的“amd”。 (“amd”给出了具体的并且只给出了要求和定义)。
这是您打开的所有工作区的全局解决方案。
重要的是,如果您“远程”使用 VS Code,这也适用,因此,没有工作区。例如,您可以仅使用 sftp 在服务器上打开一个文件,然后在 VSCode 中处理该文件。或者您可能在 Mac 上只打开一个本地文件,而不是工作区的一部分。在这两种情况下,设置(例如,node=true)实际上都有效 - 它不必是工作区。