eslint+pretteir配置

333 阅读2分钟

eslint + pretteir

1. 安装eslint依赖

yarn add --dev eslint eslint-config-airbnb eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks

2. 运行eslint.exe文件生成eslint.js脚本

cd node_modules/.bin/eslint --init

3. 按照项目需求完成对应配置(规定一些校验规则)

rules: { 
 'no-console': 2, //禁止使用console 
 'no-const-assign': 2, //禁止修改const声明的变量 
 'no-debugger': 2, //禁止使用debugger 
 'no-else-return': 2, //如果if语句里面有return,后面不能跟else语句
},

4. 安装prettier统一风格

yarn add --dev prettier eslint-config-prettier eslint-plugin-prettier

5. 在根目录下创建.prettierrx.js(配合官方文档,根据项目调节)

module.exports = {    
"printWidth": 120, //一行的字符数,如果超过会进行换行,默认为80    
"semi": false, //在语句末尾添加分号;    
"tabWidth": 2, //一个tab代表几个空格数,默认为2   
 "singleQuote": true, //使用单引号代替双引号。    

"jsxSingleQuote": true, //在 JSX 中使用单引号代替双引号   
 "trailingComma": "all", //在多行逗号分隔的句法结构中尽可能打印尾随逗号。(例如,单行数组永远不会有尾随逗号。)    
"bracketSpacing": false, //在对象文字中的括号之间打印空格。    
"arrowParens": "avoid", //在唯一的箭头函数参数周围包含括号。    
"insertPragma": true, //插入编译指示/@format/   
 "useTabs": false
}

6. 修改eslint配置文件,

extends: ['prettier', 'plugin:prettier/recommended'], //使用推荐的React代码检测规范

7. 配置完后,对全局文件进行解析(在package.json中添加执行命令)

"lint": "eslint --fix src --ext .ts,.tsx,.js,.你文件的后缀名"

8. yarn lint

9. git 提交代码时,通过 prettier 来优化代码

  • husky:一个方便用来处理 pre-commit 、 pre-push 等 githooks 的工具

  • lint-staged:对 git 暂存区的代码,运行 linters 的工具

yarn add --dev lint-staged husky
// package.json
{  ...  
"husky": { 
   "hooks": {   
   "pre-commit": "lint-staged"   
 }  
}, 
"lint-staged": { 
   "src/*.{js,jsx,mjs,ts,tsx}": ["node_modules/.bin/prettier --write","node_modules/.bin/eslint --fix","git add"],   
   "src/*.{css,scss,less,json,html,md,markdown}": ["node_modules/.bin/prettier --write","git add"]  
} 
...}

完结撒花*~~