如何在 Atom 中设置 jshint/jsxhint "esnext" 选项

How to set jshint/jsxhint "esnext" option in Atom

我正在使用 Atom 的 linterreactlinter-jshint/linter-jsxhint。 在我的 JSX 文件中,我不断收到警告

Warning: 'import' is only available in ES6 (use esnext option). (W119)

这很简单。我做了一些搜索,发现可以在 package.json 中的 jshintConfig 选项下设置(使用 NPM 时)。我的项目使用 NPM,我有一个 package.json。我补充说:

"jshintConfig": {
  "esnext": true
}

之后,我重新加载,但警告仍然存在。我还在 Atom (config.cson) 中修改了我的 linter-jshint/linter-jsxhint 配置:

"linter-jshint":
  harmony: true
  esnext: true

"linter-jsxhint":
  harmony: true
  esnext: true

并进行了重新加载,但这也无济于事。

所以:当使用 linter-jshint/linter-jsxhint 作为 Atom 包时,如何设置 esnext 选项?

您可以在您的项目文件夹中创建一个 .jshintrc,它会被 linter 作为 json 源文件读取。

要使用 esnext 选项,

{
    "esnext": true
}

您可能需要重新打开 JS 文件才能看到新的更改。

第一种可能性,推荐:您可以在您的主目录中创建一个 .jshintrc,如果项目中有 none,jshint 将读取它目录。您可能需要在之后重新启动 Atom。

另一种可能性不推荐:您还可以在 Atom 中更改 jshint 的配置并指定全局的位置.jshintrc如果出于某种原因您不这样做想把它放在带有 --config

标志的主目录中
'linter-jshint':
  'jshintExecutablePath': /path/to/jshint --config /path/to/.jshinrc

运行'which jshint'寻找路径。 不推荐,因为每隔 .jshinrc 个文件(在项目中等)将被忽略:

jshint will look for this configuration in a number of locations, stopping at the first positive match:

  • The location specified with the --config flag

  • A file named package.json located in the current directory or any parent of the current directory (the configuration should be declared as the jshintConfig attribute of that file's JSON value)

  • A file named .jshintrc located in the current directory or any parent of the current directory

  • A file named .jshintrc located in the current user's "home" directory (where defined)

您可以使用内联配置在您的文件 .js 中添加此注释:

/* jshint 版本:6 */

http://jshint.com/docs/