一、ESLint简介
eslint的目标是保证代码的一致性和避免错误。在许多方面,它和 JSLint、JSHint 相似,除了少数的例外:
- ESLint 使用 Espress 解析 JavaScript。
- ESLint 使用 AST 去分析代码中的模式
- ESLint是完全插件化的。每一个规则都是一个插件并且你可以在运行时添加更多的规则。
二、规则配置
1.创建配置文件:.eslintrc.js
运行 eslint --init 之后,项目文件夹中最外层就会自动创建.eslintrc 文件。eslint的规则均可在其中进行配置。
2.忽略文件夹配置:.eslintignore
如果我们有引入一些第三方js文件,不想被eslint所校验,就需要配置.eslintignore文件。
先手动创建.eslintignore文件在里面写入对应文件夹路径,eslint将会忽略对应文件夹下的所有文件
例如:
写入/src/utils
它将会忽略src目录下util文件夹下所有文件
三.ESLint的规则
.eslintrc.js文件夹下内容大致如下:
主要看rules里面的内容:
rules: {
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off"
}
“no-console” 和 “no-debugger” 是 ESLint 中 规则 的名称。
第一个值是错误级别,可以使下面的值之一:
“off” or 0 - 关闭规则
“warn” or 1 - 将规则视为一个警告(不会影响退出码)
“error” or 2 - 将规则视为一个错误 (退出码为1)
这三个错误级别可以允许你细粒度的控制 ESLint 是如何应用规则
其中process.env.NODE_ENV主要是用于判断当前是生产环境(production)还是开发环境(development)。
常见规则
详情移步eslint中文网址:http://eslint.cn/docs/rules/