返回
Eslint自动格式化:代码整洁的卫士
前端
2024-02-02 20:13:04
Eslint,作为JavaScript代码的卫士,不知可否护住你代码的整洁?还是听我娓娓道来它的“法宝”吧!
Eslint遵循可插拔、可配置的原则,让其可根据不同的编程范式、习惯进行设置和定制,内置的各种规则和插件扩展了其功能,以满足不同层次、不同风格的开发需求。搭配husky、lint-staged和prettier,更是让代码管理如虎添翼,使开发者的工作事半功倍。
不用多言,直接上实践。
npm i husky lint-staged eslint prettier --save-dev
安装完毕,配置package.json文件中的scripts。
"scripts": {
"lint": "eslint --ignore-path .gitignore src/**/*.js",
"lint:fix": "eslint --ignore-path .gitignore --fix src/**/*.js",
"precommit": "lint-staged"
},
编写.huskyrc文件,配置预提交时的操作。
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npm run lint
if [ $? -ne 0 ]; then
echo "❌格式化有误"
exit 1
fi
写入.prettierrc文件和.eslintrc文件,规范代码样式。
// .prettierrc
{
"tabWidth": 2,
"trailingComma": "es5",
"semi": false,
"singleQuote": true,
"jsxBracketSameLine": false
}
// .eslintrc
{
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"extends": [
"plugin:@typescript-eslint/recommended",
"prettier"
],
"parserOptions": {
"project": "./tsconfig.json"
},
"rules": {
"prettier/prettier": "error",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }]
}
}
最后,编写.lintstagedrc文件,设置文件提交前的检测和自动修复。
"*.{ts,tsx,js,jsx}": [
"eslint --fix"
]
至此,全部配置完毕。
随着Eslint自动格式化流程的建立,代码书写规范不再让人头疼,也不会成为团队成员之间的争论点。
为了让您进一步了解Eslint的强大,列举了一些常用的插件和规则:
插件:
- eslint-plugin-react:用于React代码的检查
- eslint-plugin-prettier:用于检查代码是否符合prettier的规则
- eslint-plugin-import:用于检查代码的导入是否规范
规则:
- no-unused-vars:检查变量是否未被使用
- no-console:检查代码是否包含console语句
- no-var:禁止使用var声明变量
- prefer-const:鼓励使用const声明变量
- prefer-template:鼓励使用模板字符串
您可以根据自己的需求,安装并配置这些插件和规则,让Eslint更好地为您服务。
至此,Eslint自动格式化的介绍告一段落。
愿Eslint成为您代码洁净的卫士,让编程工作事半功倍!