eslint 使用

  • eslint 安装
  • eslint & prettier 的配合使用
  • eslint & typescript 的配合使用
  • 私用的 .eslintrc.js

eslint 安装

npm i -D eslint@^5.13.0,

安装 eslint 的时候要注意 node 版本,eslint@^5.13.0 适配到 node@^8.17.0

eslint & prettier

eslint 做代码校验,prettier 做代码格式化,当时再同时使用两个时,将会由于格式化规则不同产生冲突。prettier 给出了解决方案 eslint-config-prettier

1
npm i -D eslint-config-prettier
1
2
3
4
// .eslintrc.js
...
extends: ["some-other-config-you-use", "prettier"],
...
1
2
3
4
5
6
{
"useTabs": false,
"tabWidth": 4,
"singleQuote": false,
"semi": true
}

eslint & typescript

eslint 给出了与 ts 配合的使用方法:future-typescript-eslint#the-future-of-typescript-on-eslint

1
2
3
4
5
...
parserOptions: {
parser: "@typescript-eslint/parser",
},
...

私用的 .eslintrc.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
module.exports = {
root: true,
parserOptions: {
ecmaVersion: "es2020",
parser: "@typescript-eslint/parser",
},
env: {
es6: true,
browser: true,
node: true,
},
extends: ["some-other-config-you-use", "prettier", "eslint:recommended"],
rules: {
"prettier/prettier": "off",
"no-console": process.env.NODE_ENV === "production" ? "error" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
"vue/no-use-v-if-with-v-for": "off",
},
globals: {
$: true,
uuid: true,
jQuery: true,
axios: true,
},
};