依赖安装

ESLint 全局安装和项目根目录下安装都可以,只是应用起来稍微有些区别;
eslint-plugin-react是兼容React语义的插件;

以下安装选择一种即可,推荐局部安装,插件也根据项目安装;

全局安装

全局安装如下:
enter description here

局部安装

进入项目根目录下安装:
enter description here

区别:
在全局安装ESLint,所有的插件必须也全局安装;
在局部安装ESLint,插件不限制在哪里安装;

工具配置

IntelliJ IDEA、 Webstrom的配置一样,如果ESLint package没有自动填充,需要把node_modules中的eslint导入进去;

enter description here

配置文件

经过以上步骤,随意打开一个.js文件会发现报错;

enter description here

文件忽略

设置一些忽略检测的文件:

eslintignore

多配置

多配置检测顺序

如果同一目录下有多个配置文件,按以下顺序检测,使用第一个匹配到的文件:

.eslintrc.js
.eslintrc.yaml
.eslintrc.yml
.eslintrc.json
.eslintrc
package.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/


米花儿团儿
1.3k 声望75 粉丝

下一篇 »
HTML的复用