2

为什么要使用eslint

你在接手一个项目的维护迭代任务,阅读代码的时候是否会因为项目中充斥着各种风格的代码而感到头疼?没错,eslint就是为了解决这类问题

eslint能做什么?

1.代码风格错误提示

配置好eslint后,如果代码风格与配置描述的不符,eslint会提示代码中存在的风格问题;一般提示的情形有:
1.编辑器内,大多数编辑器配置好后能读取eslint配置文件并在文件中进行相应提示
2.eslint-loader配合webpack-dev-server能在页面中弹出相应错误内容
3.eslint通过命令号对代码进行风格检查

2.修复相应风格问题

eslint --fix 命令能修复一部分代码风格问题;能修复的范围见https://cn.eslint.org/docs/ru...

常见问题

如何在局部禁用eslint

/* eslint-disable no-alert, no-console */

alert('foo');
console.log('bar');

/* eslint-enable no-alert, no-console */

以下是详细配置

{
  root: true,// 直接在根目录读取配置文件,能提高eslint性能
  "env": {
    "node": true,// 允许使用nodejs相关的变量,下同
    "es6": true,
    "browser": true,
    "commonjs": true
  },
  "extends": "standard", // 继承eslint-config-standard中的配置,可以在rules中覆盖
  "parser": "babel-eslint", // 为eslint制定parser,默认的Esprima只允许已纳入es标准的内容
  "plugins": "vue",// 使用eslint-plugin-vue,使eslint能对vue语法进行处理,相应rules见https://eslint.vuejs.org/rules/
  "rules": {
    "no-alert": 2,
    "indent": ["error", 4, {
      "SwitchCase": 1,
      "VariableDeclarator": 1,
      "outerIIFEBody": 1,
      "MemberExpression": 1,
      "FunctionDeclaration": { "parameters": 1, "body": 1 },
      "FunctionExpression": { "parameters": 1, "body": 1 },
      "CallExpression": { "arguments": 1 },
      "ArrayExpression": 1,
      "ObjectExpression": 1,
      "ImportDeclaration": 1,
      "flatTernaryExpressions": false,
      "ignoreComments": false
    }]
  }
}

jm365
48 声望4 粉丝

web前端开发一枚,以简单明了的方式记录技术方法