Javascript 如何将.eslintrc设置为识别';需要';?

Javascript 如何将.eslintrc设置为识别';需要';?,javascript,intellij-idea,eslint,jshint,lint,Javascript,Intellij Idea,Eslint,Jshint,Lint,我是新手,并且已成功地将ESLint与集成 开箱即用,我对ESLint的集成无法识别节点,但对文档的基本审查表明,通过在我的项目文件夹根目录下创建名为.eslintrc的配置文件(使用适当的IntelliJ设置访问此文件)并设置“节点”:true,ESLint识别节点(即,以下完整的。eslintrc工作) 但是,ESLint仍然无法识别require(),此屏幕截图证明了这一点: require()“> 我已经在合理的时间内尽了最大努力,寻找如何让ESLint识别require()这一基本问题

我是新手,并且已成功地将ESLint与集成

开箱即用,我对ESLint的集成无法识别
节点
,但对文档的基本审查表明,通过在我的项目文件夹根目录下创建名为
.eslintrc
的配置文件(使用适当的IntelliJ设置访问此文件)并设置
“节点”:true
,ESLint识别
节点
(即,以下完整的
。eslintrc
工作)

但是,ESLint仍然无法识别
require()
,此屏幕截图证明了这一点:

require()“>

我已经在合理的时间内尽了最大努力,寻找如何让
ESLint
识别
require()
这一基本问题的解决方案。特别是,我发现了一个可能的提示,其中建议在
.eslintrc
文件中添加
“amd”:false
,但没有办法

这似乎很基本。如何让
.eslintrc
识别
require()


(如果在您的回答中,您能够深入了解如何涵盖更一般的情况,这也会很有帮助。谢谢!)

amd
添加到
env
内部
。eslintrc
将使您能够按照
amd
规范使用
define()
require()

{
“环境”:{
“amd”:真的吗
}
}

问题不在于ESLint。如果仔细查看消息,它会显示JSHint

由于您试图配置ESLint,最简单的解决方案是从IDE中禁用或删除JSHint插件

如果仍然希望将JSHint与ESLint一起使用,可以执行以下操作:

单文件解决方案:在文件顶部添加
/*global require*/

所有文件的通用解决方案:将行添加到
.jshintrc

“amd”:在环境中为true 根据amd规范将require()和define()定义为全局变量

请参见

关于Mac…全球解决方案。(2021年) 如果您在Mac上的惊人VS代码中使用惊人的ESLint

只需转到
~
(即
/users/your name

编辑
.eslintrc.json
(当然可以在VSCode中编辑它!)

你可能会加上

"node": true
如果您使用的是node,或者可能是此处答案中所述的“amd”(“amd”给出了具体的要求和定义)

这是适用于您打开的所有工作区的全局解决方案


重要的是,如果您“远程”使用VS代码,也可以这样做,因此没有工作区。例如,您可以仅使用sftp在服务器上打开一个文件,然后在VSCode中处理该文件。或者您可能只在Mac上打开一个本地文件,而不是工作区的一部分。在这两种情况下,设置(例如,node=true)实际上会工作的-它不需要是一个工作区。

嗯。我试着将
“amd”:true
添加到我的
.eslintrc
文件中,但不可以。我会再处理一些。添加后你重新启动了sublime吗?(讨厌问)“env”:{“amd”:true}@NickAvi为什么你会认为OP使用的是Sublime?他们清楚地说它是IntellJ,更不用说界面本身看起来一点也不像Sublime。呸,我离开了图片,我认为它看起来像Sublimithanks!只是在我的潜意识里,这些是不同的。你会马上有一个关于哪个“更好”的建议吗?JSHint、ESLint……或者两者都使用有益吗?对于任何感兴趣的人来说,这里有一个链接,可以比较
JSLint
JSHint
JSCS
、和
ESLint
:-从这个链接中,我将使用
ESLint
。很难说。对于我写的一点JS(我现在主要使用的是打字脚本),我仍然使用JSHint,因为在我使用纯JS的时候ESLint并不存在。正如,两者并没有更好的区别。您应该考虑的是:ESLint完全支持ES6,这一点我无法为JSHint确认。ESLint还支持很多代码样式规则(类似于JSC)JSHint明确地删除了这些规则,并建议使用JSC进行这些检查,这是有道理的,但您需要使用两个工具。如果您计划编写ES6代码,ESLint可能是一个更好的选择,因为从我在快速谷歌查询中了解到的情况来看,JSHint仍然不能提供很好的支持——我可能在这方面错了。这是错误的强迫您使用一些基本的代码样式也很好,但如果您关心的话,仍然没有添加JSC附带的所有复杂规则。如果我今天选择ESLint,我可能会选择它,因为它更为最新,更适合我的用例。很抱歉这些冗长的评论,我希望这将有助于您选择您的lint工具。关于ESLint和ES6支持的问题,我同意您的意见,特别是考虑到lint站点上的这句话:“ES6的一些功能很好,所以JSLint会识别ES6的好部分。”
"node": true