ESLint 命令行

要在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 时指定要应用的修复的类型。修复的三种类型是problemsuggestionlayout
忽略文件选项
  • --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:由于配置问题或内部错误,检测未能成功。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容