多人项目合作,要考虑代码编写的一致性,这样后期维护起来更加方便,顺便也能养成好的编码习惯。
-
通过配置 .eslintignore 来配置哪些文件不需要经过 ESLint 检查;
-
可以在具体的文件中,设置特定的代码规则,也可以用来跳过某些语句;
-
/* eslint-disable */ 一行代码跳过当前文件的 ESLint 检测,
-
ESLint 的生效规则是就近原则,如果在同一目录中有多个配置文件,ESLint将只使用一个。
-
.eslintrc.js
-
.eslintrc.yaml
-
.eslintrc.yml
-
.eslintrc.json
-
.eslintrc
-
package.json
module.exports = {
root: true,
env: {
node: true
},
extends: [\\\'plugin:vue/vue3-essential\\\', \\\'@vue/airbnb\\\', \\\'@vue/typescript/recommended\\\'],
parserOptions: {
ecmaVersion: 2020
},
// 注:每次更新了 rules 规则,都要重新启动项目 ~~~
rules: {
quotes: [\\\'warn\\\', \\\'single\\\'], // html属性用的是「双引号」,TS里引号用「单引号」
semi: [\\\'warn\\\', \\\'never\\\'], // 结尾的「分号不加」切记:([/+- 这五种符号不可以在行首
indent: [\\\'error\\\', \\\'tab\\\'], // 缩进是 tab
...
}
}
{
\\\"tabWidth\\\": 4,
\\\"useTabs\\\": true,
\\\"semi\\\": false,
\\\"singleQuote\\\": true,
\\\"trailingComma\\\": \\\"none\\\",
\\\"bracketSpacing\\\": true,
\\\"arrowParens\\\": \\\"always\\\",
\\\"printWidth\\\": 120
}
{
\\\"editor.formatOnType\\\": true,
\\\"editor.formatOnSave\\\": true, // 保存格式化代码
//下面是格式化代码的遵循的条件,下面三种文件根据 prettier 来格式化
\\\"[typescript]\\\": {
\\\"editor.defaultFormatter\\\": \\\"esbenp.prettier-vscode\\\"
},
\\\"[javascript]\\\": {
\\\"editor.defaultFormatter\\\": \\\"esbenp.prettier-vscode\\\"
},
\\\"[json]\\\": {
\\\"editor.defaultFormatter\\\": \\\"esbenp.prettier-vscode\\\"
}
}
npm install husky --save-dev
npx husky install
npm set-script prepare \\\"husky install”
pretest
test
posttest
// package.json
{
\\\"scripts\\\": {
\\\"prepare\\\": \\\"husky install\\\"
}
}
npx husky add .husky/pre-commit \\\"npx lint-staged\\\"
git add .husky/pre-commit
git commit -m \\\"Keep calm and commit\\\"
#!/bin/sh
. \\\"$(dirname \\\"$0\\\")/_/husky.sh\\\"
npx lint-staged
\\\"husky\\\": {
\\\"hooks\\\": {
\\\"pre-commit\\\": \\\"lint-staged\\\"
}
},
\\\"lint-staged\\\": {
\\\"*.{js,css,json,md,vue}\\\": [
\\\"prettier --write\\\",
\\\"git add\\\"
]
}
hint: The \\\'.husky/pre-commit\\\' hook was ignored because it\\\'s not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
chmod 700 .husky/pre-commit
? prettier --write [ENOENT]
? prettier --write failed without output (ENOENT).
npm install -D prettier
? Preparing...
? Running tasks...
? Applying modifications...
? Cleaning up...
参考文档:
https://segmentfault.com/a/1190000017461203
https://cloud.tencent.com/developer/section/1135570
https://typicode.github.io/husky/#/
https://pre-commit.com/
https://github.com/okonet/lint-staged
原创文章,作者:小道研究,如若转载,请注明出处:https://www.sudun.com/ask/34592.html