作者: 王振州 时间: 2020-12-18
ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误。在许多方面,它和 JSLint、JSHint 相似,除了少数的例外:
你可以使用 npm 安装 ESLint:
npm install eslint --save-dev
紧接着你应该设置一个配置文件:
./node_modules/.bin/eslint --init
之后,你可以在任何文件或目录上运行 ESLint 如下:
./node_modules/.bin/eslint <filename>
也可以在全局而不是本地安装 ESLint
(使用 npm install eslint --global)。但是,你使用的任何插件或可共享配置都必须安装在本地。
运行 eslint --init
之后,.eslintrc
文件会在你的文件夹中自动创建, 你可以在 .eslintrc 文件中看到许多像这样的规则:
{
"rules": {
"semi": ["error", "always"],
"quotes": ["error", "double"]
}
}
semi
和 quotes
是 ESLint 中 规则 的名称。第一个值是错误级别,可以使下面的值之一:
详细的配置可以参照官网配置, 官网上写的还是比较详细的
你可以通过在项目根目录创建一个 .eslintignore 文件告诉 ESLint 去忽略特定的文件和目录, 忽略模式和.gitignore 相似
**/*.js // 将忽略所有js文件
module.exports = {
root: true,
env: {
node: true,
},
// plugin:xx/yy 使用eslint-plugin-xx 的 config的yy规则
// @xx/yy yy是可共享的配置
extends: ["plugin:vue/essential", "@vue/prettier"],
rules: {
"no-console": 0,
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
"vue/no-parsing-error": [
2,
{
"x-invalid-end-tag": false,
},
],
// 新增一些重要rules
// 要求使用 let 或 const 而不是 var
"no-var": 2,
// 注释前空格
"spaced-comment": ["error", "always"],
// 禁止修改 const 声明的变量
"no-const-assign": 2,
// 要求或禁止 var 声明中的初始化(初值)
"init-declarations": 0,
// 禁用 eval()
"no-eval": 2,
// 要求 for-in 循环中有一个 if 语句
"guard-for-in": 2,
// 禁止重复声明变量
"no-redeclare": 2,
},
parserOptions: {
// https://eslint.bootcss.com/docs/user-guide/configuring#specifying-parser-options
parser: "babel-eslint",
},
};