{
//定义了一组预定义的全局变量
"env": {
"node": true,
"browser": true,
"es6": true, // 自动开启ecmaVersion:6
},
//globals定义全局变量,off--禁用全局变量 false readable === readonly true writeable === writable
"globals": {
"var1": "writable"
},
"parserOptions": {
"ecmaVersion": 7, //es6语法 3 5 2015 2016... 2019 不开启es6
"sourceType": "module",
"ecmafeatures": {
"jsx": true
}
},
// 指定解析器 1必须是node模块 2符合parse interface
"parser": "babel-eslint",
//在使用插件之前,必须npm安装 插件名称可以省略 eslint-plugin-
"plugins": [
"react",
],
/**
1指定配置的字符串(配置文件的路径、可共享配置的名称、eslint:recommended 或 eslint:all)
可共享的配置 是一个 npm 包,它输出一个配置对象
extends 属性值可以省略包名的前缀 eslint-config-
eslint-config-standard
2字符串数组:每个配置继承它前面的配置
*/
"extends": [
"eslint:recommended",
"plugin:react/recommended"
],
/**
"off" 0 关闭 ”warn" 1 警告 "error" 2 错误
1启用额外的规则
2改变继承的规则级别而不改变它的选项:
基础配置:"eqeqeq": ["error", "allow-null"]
派生的配置:"eqeqeq": "warn"
最后生成的配置:"eqeqeq": ["warn", "allow-null"]
3覆盖基础配置中的规则的选项
基础配置:"quotes": ["error", "single", "avoid-escape"]
派生的配置:"quotes": ["error", "single"]
最后生成的配置:"quotes": ["error", "single"]
*/
"rules": {
"no-empty": 2,
"no-unused-vars": 0
},
//对指定一组文件禁用规则
// "overrides": [
// {
// "files": [
// "*.js"
// ],
// "rules": {
// "no-unused-expressions": 1
// }
// }
// ]
}
//ESLint 将自动在要检测的文件目录里寻找配置文件,紧接着是父级目录,
//一直到文件系统的根目录(除非指定 root: true)
/**
同一个目录下有多个配置文件,ESLint 只会使用一个。优先级顺序如下
.eslintrc.js
.eslintrc.yaml
.eslintrc.yml
.eslintrc.json
.eslintrc
package.json
*/
/**
同一目录下 .eslintrc 和 package.json 同时存在,
.eslintrc 优先级高会被使用,package.json 文件将不会被使用。
*/
/**优先级高->低
1,行内配置
2,命令行选项(或 CLIEngine 等价物):
3,项目级配置:
4,~/.eslintrc 中自定义的默认配置。
~/.eslintrc ,如果没有其它配置文件时它才会被使用。
因为个人配置将适用于用户目录下的所有目录和文件,
包括第三方的代码,当 ESLint 运行时可能会导致问题。
*/
/**
eslint --init 命令可以创建一个配置,这样你就可以继承推荐的规则。
*/
/**
.eslintignore
忽略特定的文件和目录
其中的每一行都是一个 glob 模式表明哪些路径应该忽略检测
Globs 匹配使用 node-ignore,所以大量可用的特性有:
以 # 开头的行被当作注释,不影响忽略模式。
路径是相对于 .eslintignore 的位置或当前工作目录。通过 --ignore-pattern command 传递的路径也是如此。
忽略模式同 .gitignore 规范
以 ! 开头的行是否定模式,它将会重新包含一个之前被忽略的模式。
忽略模式依照 .gitignore 规范.
路径必须使用前斜杠作为它们的路径分隔符 /root/src/*.js
ESLint总是忽略 /node_modules/* 和 /bower_components/* 中的文件。
如果没有发现 .eslintignore 文件,也没有指定替代文件,ESLint 将在 package.json
文件中查找 eslintIgnore 键,来检查要忽略的文件。
*/
文件配置完成以后,在vscode里 、打开setitngs.json文件 红色部分
{
"editor.fontSize": 14,
"eslint.alwaysShowStatus": true,
"eslint.format.enable": true,
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.run": "onSave",
"eslint.validate": [
"javascript",
"javascriptreact",
"html",
],
"eslint.options": {}
}