作用

  • check syntax 语法检查
  • find problems 发现问题
  • enforce code style 强制代码风格

    安装

    npm install eslint —save-dev
    –save直接依赖 -dev指开发环境进行依赖
    会自动写入到package.json的devDependencies节点
    1. /* eslint-disable */
    2. 在文件头部声明忽略某个文件的eslint检测
  1. // eslint-disable-next-line
  2. 或者在某一行js代码上添加忽略某一行代码的eslint检测

空格问题

image.png

eslintrc配置

  1. module.exports = {
  2. parser: 'babel-eslint',
  3. env: {
  4. browser: true,
  5. es6: true,
  6. },
  7. extends: 'airbnb',
  8. globals: {
  9. Atomics: 'readonly',
  10. SharedArrayBuffer: 'readonly',
  11. },
  12. parserOptions: {
  13. ecmaFeatures: {
  14. jsx: true,
  15. },
  16. ecmaVersion: 2018,
  17. sourceType: 'module',
  18. },
  19. plugins: ['react'],
  20. rules: {
  21. 'react/jsx-filename-extension': [1, { extensions: ['.js', '.jsx'] }], //在JS文件中允许存在JSX语法
  22. 'global-require': 'off', //image指定source时要用require语句
  23. indent: ['error', 4], //缩进规则为4个空格
  24. 'react/jsx-indent': ['error', 4], //缩进规则为4个空格
  25. 'react/jsx-indent-props': ['error', 4], //缩进规则为4个空格
  26. 'react/prop-types': ['error', { ignore: ['tintColor', 'navigation'] }],
  27. 'react/no-multi-comp': ['error', { ignoreStateless: true }],
  28. 'react/prefer-stateless-function': ['error', { ignorePureComponents: true }],
  29. 'max-len': ['error', { code: 100 }],
  30. },
  31. };

image.png

忽略检测的文件

在根目录创建 .eslintignore文件,配置不进行eslint检测的文件

  1. __tests__/*.*
  2. babel.config.js
  3. /scripts/

执行检查

  • 检查某个文件:npx eslint [文件名,文件夹等]
    示例:
    检查单个文件:npx eslint ./src/app.js
    检查某个文件夹:npx eslint ./src
  • 检查并修复
    npx eslint ./src/app.js —fix