ESLint总是抛出键间距错误

时间:2017-02-03 20:11:31

标签: vue.js eslint

我的.eslintrc中有以下内容:

--skip-client

目标是在对象分配中确保以下内容为真:

  1. 在单行分配中,每个冒号前没有空格, 但是后面有一个。
  2. 在多行分配中,冒号水平排列,并且 每个冒号前后都有一个空格。
  3. 奇怪的是,以下三个代码片段:

    1 [来自我的app.vue文件]。

    'key-spacing': [ 'error', {
        'singleLine': {
            'beforeColon'   : false,
            'afterColon'    : true
        },
        'multiLine': {
            'beforeColon'   : false,
            'afterColon'    : true,
            'align'         : 'colon'
        }
    }]
    

    2 [来自我的main.js文件]。

    export default {
        name        : 'app',
        components  : {
            todos
        }
    }
    

    3 [来自我的Hello.spec.js文件]。

    new Vue({
        el      : '#app',
        render  : h => h( App )
    })
    

    每个都会在键间距符号规则上抛出错误:

    const vm = new Vue({
        el      : document.createElement( 'div' ),
        render  : h => h( Hello )
    })
    

    我无法从我的设置中弄清楚为什么它们会导致列出的错误,因为每个指定的单词后面都有必要的空格,但任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:3)

此规则的配置非常复杂。我认为你要找的是这样的:

'key-spacing': [ 'error', {
    'singleLine': {
        'beforeColon' : false,
        'afterColon'  : true
    },
    "align": {
        "beforeColon" : true,
        "afterColon"  : true,
        "on"          : "colon"
    }
}]

但是,即使使用此配置,ESLint也不允许冒号的任意位置。它们必须尽可能接近对象中最长的键名。因此,使用上述配置,您的代码必须更改为:

export default {
    name       : 'app',
    components : {
        todos
    }
}

这将使我提供的配置正确lint。