要在Node.js 上运行 ESLint,必须先安装 npm。
安装好npm后,可以运行下列命令:
npm i -g eslint
这表示从npm仓库安装了ESLint CLI。然后继续使用下列命令运行ESLint:
eslint [options] [file|dir|glob]*
示例:
eslint file1.js file2.js
或者:
eslint lib/**
如果想要使用 node 的 glob
语法,需要给参数加上引号,在 windows 系统运行时也可以使用双引号,像下面这样:
eslint "lib/**"
命令选项
使用 ESLint 命令时,我们可以通过eslint -h
命令来查看所有的命令行选项:
eslint [options] file.js [file.js] [dir]
Basic configuration:
--no-eslintrc Disable use of configuration from .eslintrc.*
-c, --config path::String Use this configuration, overriding .eslintrc.* config
options if present
--env [String] Specify environments
--ext [String] Specify JavaScript file extensions - default: .js
--global [String] Define global variables
--parser String Specify the parser to be used
--parser-options Object Specify parser options
--resolve-plugins-relative-to path::String A folder where plugins should be resolved
from, CWD by default
Specifying rules and plugins:
--rulesdir [path::String] Use additional rules from this directory
--plugin [String] Specify plugins
--rule Object Specify rules
Fixing problems:
--fix Automatically fix problems
--fix-dry-run Automatically fix problems without saving the changes to
the file system
--fix-type Array Specify the types of fixes to apply (problem,
suggestion, layout)
Ignoring files:
--ignore-path path::String Specify path of ignore file
--no-ignore Disable use of ignore files and patterns
--ignore-pattern [String] Pattern of files to ignore (in addition to those in
.eslintignore)
Using stdin:
--stdin Lint code provided on <STDIN> - default: false
--stdin-filename String Specify filename to process STDIN as
Handling warnings:
--quiet Report errors only - default: false
--max-warnings Int Number of warnings to trigger nonzero exit code -
default: -1
Output:
-o, --output-file path::String Specify file to write report to
-f, --format String Use a specific output format - default: stylish
--color, --no-color Force enabling/disabling of color
Inline configuration comments:
--no-inline-config Prevent comments from changing config or rules
--report-unused-disable-directives Adds reported errors for unused eslint-disable
directives
Caching:
--cache Only check changed files - default: false
--cache-file path::String Path to the cache file. Deprecated: use --cache-location
- default: .eslintcache
--cache-location path::String Path to the cache file or directory
Miscellaneous:
--init Run config initialization wizard - default: false
--env-info Output execution environment information - default: false
--no-error-on-unmatched-pattern Prevent errors when pattern is unmatched
--debug Output debugging information
-h, --help Show help
-v, --version Output the version number
--print-config path::String Print the configuration for the given file
有些选项可接收一组参数,这类选项支持两种传参方式(除了 --ignore-pattern
不允许第二种方式)。
- 多次指定同一选项,每次接收一个不同的参数。
- 将参数列表用逗号分隔,一次传给选项。
示例:
eslint --ext .jsx --ext .js lib/
eslint --ext .jsx,.js lib/
下面是一些命令选项的描述:
基本配置
-
--no-eslintrc
:禁用.eslintrc.*
和package.json
文件中的配置。 -
-c
,--config
:该选项允许你为 ESLint指定一个额外的配置文件。 -
--env
:用于指定环境。该选项只能启用环境,不能禁用在其它配置文件中设置的环境。要指定多个环境的话,使用逗号分隔它们,或多次使用这个选项。 -
--ext
:可以指定在指定目录中搜索JavaScript文件时,ESLint将使用哪些文件扩展名。默认扩展名为.js
。 -
--global
:用于定义全局变量。任何指定的全局变量默认是只读的,在变量名字后加上:true
后会使它变为可写。要指定多个变量,使用逗号分隔它们,或多次使用这个选项。
指定规则和插件
-
--rulesdir
:该选项允许指定另一个加载规则文件的目录。 -
--plugin
:用于指定一个要加载的插件。可以省略插件名的前缀eslint-plugin-
。 -
--rule
:该选项指定要使用的规则。这些规则将会与配制文件中指定的规则合并。定义多个规则时使用逗号分隔它们,或多次使用这个选项。
解决问题选项
--fix
:该选项指示 ESLint 试图修复尽可能多的问题。修复只针对实际文件本身,而且剩下的未修复的问题才会输出。--fix-dry-run
:该选项与--fix
有相同的效果,唯一一点不同是,修复不会保存到文件系统中。--fix-type
:该选项允许你在使用--fix
或--fix-dry-run
时指定要应用的修复的类型。修复的三种类型是problem
、suggestion
、layout
。
忽略文件选项
--ignore-path
:该选项允许你指定一个文件作为.eslintignore
。默认情况下,ESLint 在当前工作目录下查找.eslintignore
。--no-ignore
:该选项禁止排除.eslintignore
、--ignore-path
和--ignore-pattern
文件中指定的文件。--ignore-pattern
:该选项允许你指定要忽略的文件模式,除了.eslintignore
中的模式之外。可以重复该选项以提供多个模式。
使用标准输入选项
--stdin
:该选项告诉 ESLint 从 STDIN 而不是从文件中读取和检测源码。--stdin-filename
:该选项允许你指定一个文件名去处理 STDIN。当你处理从 STDIN 来的文件和有规则依赖于这个文件名时,这会很有用。
处理警告选项
--quiet
:该选项允许你禁止报告警告。如果开启这个选项,ESLint 只会报告错误。--max-warnings
:该选项允许你指定一个警告的阈值,当你的项目中有太多违反规则的警告时,这个阈值被用来强制 ESLint 以错误状态退出。
其他
--init
:该选项将会配置初始化向导。它被用来帮助新用户快速地创建.eslintrc
文件,用户通过回答一些问题,选择一个流行的风格指南,或检查你的源文件,自动生成一个合适的配置。--debug
:该选项将调试信息输出到控制台。-h
,--help
:该选项会输出帮助菜单,显示所有可用的选项。当有这个选项时,忽略其他所有选项。-v
,--version
:该选项在控制台输出当前 ESlint 的版本。当有这个标记时,忽略其他所有标记。--print-config
:该选项输出传递的文件使用的配置。当有这个标记时,不进行检测,只有配置相关的选项才是有效的。
退出码
当检测文件时,ESLint 可以使用以下退出代码之一退出 :
- 0:检测成功,没有错误。如果
--max-warnings
标志被设置为n
,那么警告数量最多为n
。 - 1:检测成功,并且至少有一个错误,或者警告多于
--max-warnings
选项所允许的警告。 - 2:由于配置问题或内部错误,检测未能成功。