ESLint:如何设置.eslintrc来识别'require'?

Dan*_*aum 48 javascript lint intellij-idea jshint eslint

我是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
  },
}
Run Code Online (Sandbox Code Playgroud)

但是,ESLint仍然无法识别require(),如此屏幕截图所示:

ESLint无法识别<code>ESLint</code>识别的基本问题<code>require()</code>.特别是,我在<a rel=这里找到了一个可能的提示,它建议添加"amd":false(我推测).eslintrc文件 - 但没有去.

这看起来很基本.我怎样才能.eslintrc认出来require()

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

小智 80

添加amdenv内部.eslintrc将使您能够使用define()require(),根据amd规范:

{
  "env": {
    "amd": true
  }
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*šak 27

问题不在于ESLint.如果你密切关注你的信息,那就是JSHint.

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

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

单个文件解决方案:添加/* global require */到文件的顶部.

所有文件的一般解决方案:添加"node": true行到您的.jshintrc.

  • 如果你打算编写ES6代码,ESLint可能是一个更好的选择,因为从我在快速谷歌查询中学到的东西,JSHint仍然没有提供很好的支持 - *我可能错在这个*.强迫你使用一些基本的代码风格也很棒,但是如果你完全关心它,仍然不会添加JSCS附带的所有复杂规则.如果我今天选择的话,我可能会选择ESLint,因为它更新,并且更适合我的用例.很抱歉这些长篇评论,我希望这可以帮助您选择您的棉绒工具. (2认同)