setting.json、.editorconfig、.eslintrc.json和.prettier.js区分和配置(二)

1,024 阅读1分钟

.eslintrc.json配置

在vscode中创建一个index.js文件,如图: image.png 安装 eslint prettier

npm install eslint prettier --save-dev

手动创建一个.eslintrc.json文件,并配置一些简单的规则,如图: image.png 终端运行eslint,如图: image.png

运行eslint进行修复

npx eslint main.js --fix

image.png

我们看到,eslint没有纠正 max-len 规则引起的问题

运行prettier 来看一下max-len是否能修复

npx prettier index.js --write

image.png

image.png

index.js中的代码格式变了

配置.eslintrc.json,使prettier覆盖eslint的代码格式检测

专业的工具就要做专业的事,下面通过配置,使eslint专注代码质量检测,prettier专注代码格式检测

eslint-config-prettier 就是帮助我们停用可能与 Prettier 冲突的所有 ESLint 规则,安装:

npm install eslint-config-prettier --save-dev

配置:

{
  "extends": ["eslint:recommended", "prettier"],
  "env": {
    "es6": true,
    "node": true
  }
}

image.png

将prettier集成到eslint中

现在我们已经禁掉了eslint的代码格式检测,但是每次检测都需要分别运行eslint和prettier,比较麻烦;

eslint-plugin-prettier 则是将prettier集成到eslint中

npm install eslint-plugin-prettier --save-dev

配置

{
  "extends": ["eslint:recommended", "prettier"],
  "env": {
    "es6": true,
    "node": true
  },
  "rules": {
    "prettier/prettier": "error"
  },
  "plugins": [
    "prettier"
  ]
}

image.png

重新运行eslint

npx eslint index.js

image.png

我们看到,现在的错误提示全都是prettier

运行eslint 修复

npx eslint index --fix

image.png

image.png

配置 Vue

添加解析器,以便eslint能认识Vue

npm install --save-dev vue-eslint-parser

配置

{
  "parser": "vue-eslint-parser",
  "parserOptions": {
    "sourceType": "module"
  },
  "extends": ["eslint:recommended", "prettier"],
  "env": {
    "es6": true,
    "node": true
  },
  "rules": {
    "prettier/prettier": "error"
  },
  "plugins": ["prettier"]
}
npx eslint App.vue

image.png

vscode 安装插件prettier-code formatter

在setting.json 中设置prettier,格式快速格式化代码,防止.prettier.js 校验不通过

image.png

参考文章

【译】为什么你应该使用 ESLint,Prettier 以及 EditorConfig?

【译】无冲突设置 ESLint,Prettier 和 EditorConfig