vue项目eslint配置 解释

本文详细介绍了在Vue项目中如何配置ESLint,包括基本设置、规则定制、Prettier整合以及解决常见问题,旨在帮助开发者提升代码质量和规范性。
摘要由CSDN通过智能技术生成
// https://eslint.org/docs/user-guide/configuring

module.exports = {
   
    root: true,
    parserOptions: {
   
        parser: 'babel-eslint'
    },
    env: {
   
        browser: true,
        jquery: true
    },
    extends: [
        // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
        // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
        'plugin:vue/essential',
        // https://github.com/standard/standard/blob/master/docs/RULES-en.md
        'standard'
    ],
    // required to lint *.vue files
    plugins: [
        'vue'
    ],
    // add your custom rules here
    rules: {
   
        // 定义对象的set存取器属性时,强制定义get
        'accessor-pairs': 0,
        // 在数组括号内强制实现一致的间距。
        'array-bracket-newline': 0,
        // 指定数组的元素之间要以空格隔开(, 后面), never参数:[ 之前和 ] 之后不能带空格,always参数:[ 之前和 ] 之后必须带空格
        'array-bracket-spacing': [2, 'never'],
        // 强制数组方法的回调函数中有 return 语句
        'array-callback-return': 1,
        // 强制数组元素间出现换行
        'array-element-newline': 0,
        // 要求箭头函数体使用大括号
        'arrow-body-style': 2,
        // 要求箭头函数的参数使用圆括号
        'arrow-parens': 2,
        // 要求箭头函数空格
        'arrow-spacing': [2, {
   'before': true,'after': true}],
        // 强制把变量的使用限制在其定义的作用域范围内
        'block-scoped-var': 2,
        // 禁止或强制在单行代码块中使用空格(禁用)
        'block-spacing': 0,
        //强制使用一致的缩进 第二个参数为 'tab' 时,会使用tab,
        // if while function 后面的{必须与if在同一行,java风格。
        'brace-style': [2, '1tbs', {
    'allowSingleLine': true }],
        // require return statements after
        'callback-return': 0,
        // 双峰驼命名格式
        'camelcase': 2,
        // 注释 大写字母开头,不推荐 注释的代码会报错
        'capitalized-comments': 0,
        // 如果一个类方法没有使用this,它有时可以变成一个静态函数。如果将该方法转换为静态函数,那么调用该特定方法的类的实例也必须转换为静态调用
        'class-methods-use-this': 2,
        // 数组和对象键值对最后一个逗号, never参数:不能带末尾的逗号, always参数:必须带末尾的逗号,
        // always-multiline:多行模式必须带逗号,单行模式不能带逗号
        'comma-dangle': [2, 'never'],
        // 控制逗号前后的空格
        'comma-spacing': [2, {
   'before': false,'after': true}],
        // 控制逗号在行尾出现还是在行首出现 (默认行尾)
        // http: //eslint.org/docs/rules/comma-style
        'comma-style': [2,'last'],
        // 限制圈复杂度,也就是类似if else能连续接多少个
        'complexity': 0,
        //'SwitchCase' (默认:0) 强制 switch 语句中的 case 子句的缩进水平
        // 以方括号取对象属性时,[ 后面和 ] 前面是否需要空格, 可选参数 never, always
        'computed-property-spacing': [2,'never'],
        // 要求 return 语句要么总是指定返回的值,要么不指定
        'consistent-return': 2,
        // 用于指统一在回调函数中指向this的变量名,箭头函数中的this已经可以指向外层调用者,应该没卵用了
        // e.g [0,'that'] 指定只能 var that = this. that不能指向其他任何值,this也不能赋值给that以外的其他值
        'consistent-this': [2, '_this'],
        // 强制在子类构造函数中用super()调用父类构造函数,TypeScrip的编译器也会提示
        'constructor-super': 0,
        // 强制所有控制语句使用一致的括号风格
        'curly': [2,'all'],
        // switch 语句强制 default 分支,也可添加 // no default 注释取消此次警告
        'default-case': 2,
        // 强制object.key 中 . 的位置,参数:
        // property,'.'号应与属性在同一行
        // object, '.' 号应与对象名在同一行
        'dot-location': [2,'property'],
        // 强制使用.号取属性
        // 参数: allowKeywords:true 使用保留字做属性名时,只能使用.方式取属性
        // false 使用保留字做属性名时, 只能使用[]方式取属性 e.g [2, {'allowKeywords': false}]
        // allowPattern: 当属性名匹配提供的正则表达式时,允许使用[]方式取值,否则只能用.号取值 e.g [2, {'allowPattern': '^[a-z]+(_[a-z]+)+$'}]
        'dot-notation': 0,
        // 文件末尾强制换行
        'eol-last': 0,
        // 使用 === 替代 == allow-null允许null和undefined==
        'eqeqeq': [2, 'allow-null'],
        //强制 “for” 循环中更新子句的计数器朝着正确的方向移动
        'for-direction': "error",
        // 要求或禁止函数标识符与其调用之间的间隔
        'func-call-spacing': [0, 'always'],
        // 要求函数名称与它们所分配的变量或属性的名称相匹配
        'func-name-matching': 2,
        // 强制使用命名的 function 表达式
        'func-names': 0,
        // 强制一致地使用函数声明或函数表达式,方法定义风格,参数:
        // declaration: 强制使用方法声明的方式,function f(){} e.g [2, 'declaration']
        // expression:强制使用方法表达式的方式,var f = function() {} e.g [2, 'expression']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值