安装依赖
yarn add husky@^3.1.0 -D
yarn add lint-staged@^9.2.3 prettier@^1.18.2
修改package.json
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"src/**/*.{js,vue,jsx,ts,tsx,html}": [
"prettier --write",
"eslint --fix",
"git add"
],
"src/**/*.{json,css,scss,md}": [
"prettier --write",
"git add"
]
},
增加.prettierignore 文件
{
"semi": false,
"trailingComma": true,
"singleQuote": true,
"printWidth": 120
}
增加.eslintignore 文件
public/**/*.js
node_modules
package.json
新建 .eslintrc.js文件
module.exports = {
// 此项是用来告诉eslint找当前配置文件不能往父级查找
root: true,
// 全局环境
env: {
node: true
},
// 指定如何解析语法。可以为空,但若不为空,只能配该值
parser: 'vue-eslint-parser',
// 优先级低于parse的语法解析配置
parserOptions: {
// 指定ESlint的解析器
parser: '@typescript-eslint/parser',
// 允许使用ES语法
ecmaVersion: 2020,
// 允许使用import
sourceType: 'module',
// 允许解析JSX
ecmaFeatures: {
jsx: true
}
},
/**
* "off" 或 0 - 关闭规则
* "warn" 或 1 - 开启规则,使用警告级别的错误:warn (不会导致程序退出)
* "error" 或 2 - 开启规则,使用错误级别的错误:error (当被触发的时候,程序会退出)
*/
extends: ['pl