依赖安装
ESLint 全局安装和项目根目录下安装都可以,只是应用起来稍微有些区别;
eslint-plugin-react
是兼容React语义的插件; 以下安装选择一种即可,推荐局部安装,插件也根据项目安装;
全局安装
全局安装如下:
局部安装
进入项目根目录下安装:
区别:
在全局安装ESLint,所有的插件必须也全局安装;在局部安装ESLint,插件不限制在哪里安装;工具配置
IntelliJ IDEA、 Webstrom的配置一样,如果ESLint package没有自动填充,需要把node_modules中的eslint导入进去;
配置文件
经过以上步骤,随意打开一个.js文件会发现报错;
文件忽略
设置一些忽略检测的文件:
多配置
多配置检测顺序
如果同一目录下有多个配置文件,按以下顺序检测,使用第一个匹配到的文件:
.eslintrc.js
.eslintrc.yaml.eslintrc.yml.eslintrc.json.eslintrcpackage.json
多配置处理方式
如果项目下有多个结构层级不同的配置文件,会产生配置级联;
默认情况下,ESLint 会在所有父级目录里寻找配置文件,一直到根目录。
父级目录下的配置将使用于所有子目录,当子目录下的配置文件中的规则与父级配置发生冲突时,使用优先级高的,离的最近的一个优先。
禁止检测父级配置
为了将 ESLint 限制到一个特定的项目,在配置文件里设置 "root": true。
ESLint 一旦发现配置文件中有 "root": true,它就会停止在父级目录中寻找。內联注释配置
注释以指令(eslint/eslint-env/global/eslint-disable)
开始,接下来是逗号分隔的规则列表;
作用:
会覆盖配置文件里的规则:禁用ESlint | 禁用某条规则 | 调整规则;参考配置
module.exports = { "env": { "browser": true, "commonjs": true, "es6": true }, "extends": "eslint:recommended", "parserOptions": { "ecmaFeatures": { "experimentalObjectRestSpread": true, "jsx": true }, "sourceType": "module" }, "globals":{ "document": true, "$": true }, "plugins": [ "react" ], "rules": { "react/jsx-uses-react": "error", "react/jsx-uses-vars": "error", "indent": [ "error", "tab", 4 ], "linebreak-style": [ "error", "unix" ], "quotes": [ "error", "double" ], "semi": [ "error", "always" ] }, "settings": { "react": { "createClass": "createClass", "pragma": "React" } }};
使用的规则可在查看被标记为✓的规则;
注意:.gitignore
中设置node_modules/