如何设置.eslintrc 识别'require'?

How to set .eslintrc to recognize 'require'?

我是 ESLint, and I have successfully integrated ESLint with 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,它建议在(我推测的).eslintrc 文件中添加 "amd":false - 但不行。

这看起来很基本。如何让 .eslintrc 识别 require()

(如果在您的回答中,您可以提供有关如何涵盖更一般情况的见解,那也会有所帮助。谢谢!)

amd 添加到 .eslintrc 内的 env 将使您能够根据 amd 规范使用 define()require()

{
  "env": {
    "amd": true
  }
}

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

由于您正在尝试配置 ESLint,最简单的解决方案是从您的 IDE.

中禁用或删除 JSHint 插件

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

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

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

"amd":在 env 中为真 根据 amd 规范将 require() 和 define() 定义为全局变量。

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

关于 Mac ... 全局 解决方案。 (2021)

如果您在 Mac、

上在令人惊叹的 VS Code 中使用令人惊叹的 ESLint

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

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

您可能会添加

"node": true

如果您使用的是节点,或者可能是此处答案中所述的“amd”。 (“amd”专门给出了要求和定义)。

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

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