目的:
自动化格式代码,静态检查,提交门禁
webstorm(Idea),vscode
注意事项:
eslint —fix (慎用)
可能与prettier的冲突插件:
- JS-CSS-HTML-Formatter
- Beatuify
环境准备:(npm install)
- prettier
- eslint
- husky
- lint-staged
- eslint-plugin-config
- eslint-plugin-react
- eslint-plugin-prettier
IDE保存自动格式化配置:
WS:
File Watcher
VS:
Format On Save
.eslintrc.js
关键配置点:
env: {browser: true,es6: true,jquery: true,},extends: ['plugin:prettier/recommended', 'airbnb'],// 也可以选择别的style,或者完全自定义styleparser: 'babel-eslint',parserOptions: {ecmaFeatures: {jsx: true,},ecmaVersion: 2018,sourceType: 'module',},plugins: ['react'],settings: {//eslint-import-resolver-alias,alias,别名不报错'import/resolver': {alias: {map: [['constants', path.resolve(__dirname, 'web-src/js/constants/')],],extensions: ['.js', '.jsx'],},},
package.json
相关配置点:
"husky":{"hooks::{"pre-commit":"lint-staged" // 提交钩子script}},"lint-staged":{"{src/**/*.{js,jsx}}":['prettier --write','eslint' // 对改动的文件执行格式化,语法检查命令,若错误则撤销提交]}
