目的:
    自动化格式代码,静态检查,提交门禁
    webstorm(Idea),vscode
    注意事项:
    eslint —fix (慎用)
    可能与prettier的冲突插件:

    • JS-CSS-HTML-Formatter
    • Beatuify

    环境准备:(npm install)

    1. prettier
    2. eslint
    3. husky
    4. lint-staged
    5. eslint-plugin-config
    6. eslint-plugin-react
    7. eslint-plugin-prettier

    IDE保存自动格式化配置:
    WS:
    File Watcher
    image.png
    VS:
    Format On Save
    image.png
    .eslintrc.js
    关键配置点:

    1. env: {
    2. browser: true,
    3. es6: true,
    4. jquery: true,
    5. },
    6. extends: ['plugin:prettier/recommended', 'airbnb'],// 也可以选择别的style,或者完全自定义style
    7. parser: 'babel-eslint',
    8. parserOptions: {
    9. ecmaFeatures: {
    10. jsx: true,
    11. },
    12. ecmaVersion: 2018,
    13. sourceType: 'module',
    14. },
    15. plugins: ['react'],
    16. settings: {
    17. //eslint-import-resolver-alias,alias,别名不报错
    18. 'import/resolver': {
    19. alias: {
    20. map: [
    21. ['constants', path.resolve(__dirname, 'web-src/js/constants/')],
    22. ],
    23. extensions: ['.js', '.jsx'],
    24. },
    25. },

    package.json
    相关配置点:

    1. "husky":{
    2. "hooks::{
    3. "pre-commit":"lint-staged" // 提交钩子script
    4. }
    5. },
    6. "lint-staged":{
    7. "{src/**/*.{js,jsx}}":[
    8. 'prettier --write','eslint' // 对改动的文件执行格式化,语法检查命令,若错误则撤销提交
    9. ]
    10. }