目录

一、eslint 定义规则

1、创建 .eslintrc.js 文件

2、配置示例

3、.eslintignore 忽略文件


一、eslint 定义规则

1、创建 .eslintrc.js 文件

  • .eslintrc.* 文件支持 .js .yaml .yal .json等格式的配置文件,这里使用 .js文件
  • 在 package.json 里创建一个 eslintConfig 属性,在那里,同样可以定义你的配置
  • 如果 .eslintrc.js 和 package.json里的 eslintConfig 同时存在,则只读取 .eslintrc.js文件

2、配置示例

module.exports = {
  root: true, // 停止在父级目录中寻找
  env: {
    es6: true, // 启用 ES6 语法支持以及新的 ES6 全局变量或类型
    node: true // Node.js 全局变量和 Node.js 作用域
  },
  extends: ['plugin:vue/essential', '@vue/standard'],
  rules: {
    'no-alert': 0, // 禁止使用alert confirm prompt
    'no-console': 0, // 禁止使用console
    'no-debugger': 0, // 禁止使用debugger
    'prefer-const': 0, // 建议使用 const 关闭
    'no-dupe-keys': 2, // 在创建对象字面量时不允许键重复 {a:1,a:1}
    'no-dupe-args': 2, // 函数参数不能重复
    'no-duplicate-imports': [
      1,
      {
        includeExports: true
      }
    ], // 不允许重复导入

    'no-duplicate-case': 2, // switch中的case标签不能重复
    'padded-blocks': 0, // 块语句内行首行尾是否要空行
    'space-after-keywords': [0, 'always'], // 关键字后面是否要空一格
    'space-before-blocks': [0, 'always'], // 不以新行开始的块{前面要不要有空格
    'space-before-function-paren': [0, 'always'], // 函数定义时括号前面要不要有空格
    'space-in-parens': [0, 'never'], // 小括号里面要不要有空格
    'space-infix-ops': 0, // 中缀操作符周围要不要有空格
    eqeqeq: 0, // 必须使用全等
    'no-var': 0, // 禁用var,用let和const代替
    'no-inline-comments': 0, // 禁止行内备注
    indent: 0,
    'vue/script-indent': 0,
    'vue/require-prop-type-constructor': 0,
    'vue/no-use-v-if-with-v-for': 0,
    'no-trailing-spaces': 0, // 一行结束后面不要有空格
    'no-multiple-empty-lines': 0, // [1, {"max": 2}],空行最多不能超过2行
    'no-extra-boolean-cast': 0, // 禁止不必要的bool转换
    'valid-jsdoc': 0,
    'one-var': 0, // 连续声明
    semi: 0, // 语句强制分号结尾
    'semi-spacing': [0, { before: false, after: true }], // 分号前后空格
    'no-new': 0, // 禁止在使用new构造一个实例后不赋值
    'no-extra-semi': 0, // 禁止多余的冒号
    'keyword-spacing': 0,
    'arrow-parens': 0, // 箭头函数用小括号括起来 - 关闭
    'generator-star-spacing': 0, // 生成器函数*的前后空格
    'no-mixed-operators': 0,
    'eol-last': 0, // 文件以单一的换行符结束 - 关闭
    'object-curly-spacing': 0, // 大括号内是否允许不必要的空格
    'no-callback-literal': 0,
    'multiline-ternary': 0
  },
  parserOptions: {
    parser: 'babel-eslint'
  },
  overrides: [
    {
      files: ['**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)'],
      env: {
        jest: true
      }
    }
  ]
};

3、.eslintignore 忽略文件

.eslintignore 文件告诉 ESLint 去忽略特定的文件和目录

/lib
/docs
/dist

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐