eslint 格式校验配置, editorconfig统一编辑器处理

统一编辑器的处理规则,以免多人项目习惯不同导致不同的基本代码规范不同,项目目录下创建文件 .editorconfig 输入如下配置代码

root = true
[*]
charset = utf-8 //字符编码格式
indent_style = space //缩进风格,space表示基于空格做缩进
indent_size = 2 //缩进大小,2表示缩进2个单位
end_of_line = lf //换行符风格,lf表示linux和Mac换行风格
insert_final_newline = true //当创建文件时是否自动在文件末尾添加一个新行,true表示自动添加
trim_trailing_whitespace = true //是否自动移除行尾多余空格,true表示自动移除

项目目录下创建文件 .eslintrc.js 输入如下配置代码

// https://eslint.org/docs/user-guide/configuring

module.exports = {
  root: true,
  // parser: 'babel-eslint',
  parserOptions: {
    parser: 'babel-eslint',
    sourceType: 'module'
  },
  env: {
    browser: true,
    es6: true,
    node: true
  },
  // https://github.com/standard/standard/blob/master/docs/RULES-en.md
  extends: [
    'eslint:recommended',
    "plugin:vue/recommended"
  ],
  // required to lint *.vue files
  plugins: [
    // 'html',
    'vue'
  ],
  // add your custom rules here
  rules: {
    'no-console': 'off',
    'indent': [1, 2],//缩进
    'generator-star-spacing': 'off',
    'no-mixed-operators': 0,
    "key-spacing": [1, { "beforeColon": false, "afterColon": true }],//对象字面量中冒号的前后空格
    'no-empty': 0,
    "no-unused-vars": [
      1,
      {
        "vars": "all",
        "args": "none",
        "ignoreRestSiblings": false
      }
    ],
    "object-curly-spacing": [
      1,
      "always",
      {
        "arraysInObjects": false,
        "objectsInObjects": false
      }
    ],//大括号内是否允许不必要的空格
    'vue/max-attributes-per-line': [
      0,
      {
        'singleline': 5,
        'multiline': {
          'max': 1,
          'allowFirstLine': false
        }
      }
    ],
    'vue/html-indent': [1, 2],
    'vue/attribute-hyphenation': 0,
    'vue/html-self-closing': 0,
    'vue/component-name-in-template-casing': 0,
    'vue/html-closing-bracket-spacing': 0,
    'vue/singleline-html-element-content-newline': 0,
    'vue/no-unused-components': 0,
    'vue/multiline-html-element-content-newline': 0,
    'vue/no-use-v-if-with-v-for': 0,
    'vue/html-closing-bracket-newline': 0,
    'vue/no-parsing-error': 0,
    'no-tabs': 0,
    'quotes': [
      2,
      'single',
      {
        'avoidEscape': true,
        'allowTemplateLiterals': true
      }
    ],
    'semi': [
      1,
      'never'
    ],
    'no-delete-var': 2,
    'prefer-const': [
      1,
      {
        'ignoreReadBeforeAssign': false
      }
    ],
    'comma-spacing': [1, { 'before': false, 'after': true }],
    "comma-style": [1, "last"], //逗号风格,换行时在行首还是行尾
    "comma-dangle": [1, "never"], //对象字面量项尾不能有逗号
    'eqeqeq': [2, 'allow-null'], // 必须使用全等
    "space-before-function-paren": [1, "always"],//函数定义时括号前面要不要有空格
    // allow async-await
    'generator-star-spacing': 'off',
    // allow debugger during development
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
  }
}

配置忽略校验文件, 创建 .eslintignore 文件, 输入要忽略检查的文件, 例如

/build/
/config/
/dist/
/*.js
/test/unit/coverage/
/src/icons/iconfont.js

// 解释意思     build/*.js 表示忽略build目录下类型为js的文件的语法检查

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值