2017-02-03 8 views
0

を投げる:AにESLintはいつも私が.eslintrcに次いるキー間隔のエラー

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

    目的は以下が真であることを、オブジェクトの割り当てに確認することであること一行の割り当て、各コロンの前にスペースはありません。 がありますが、後に1つあります。

  2. 複数行の割り当てでは、コロンは水平に並び、 は各コロンの前後にスペースがあります。

奇妙なことがあること、次の3つのコードスニペット:

1 [私のapp.vueファイルから]。 [私のmain.jsファイルから]

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

2。

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

3 [私のHello.spec.jsファイルから]。

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

各キー間隔のeslintルールにエラーを投げている:

/Users/autoboxer/development/learning-vue/src/app.vue 
    12:3 error Missing space after key 'name' key-spacing 

/Users/autoboxer/development/learning-vue/src/main.js 
    6:2 error Missing space after key 'el' key-spacing 

/Users/autoboxer/development/learning-vue/test/unit/specs/Hello.spec.js 
    7:4 error Missing space after key 'el' key-spacing 

、彼らがリストされたエラーを引き起こしているだろう、なぜ必要なスペースが後にあるように私は私の設定から把握することはできませんそれぞれの指定された単語が、どんな助けも高く評価されるでしょう。

+1

おそらくタブを使用していますか? –

+0

私はタブを使用しています。奇妙なのは、それぞれのケースでトップラインについて不平を言うだけなのです。 3つのファイルすべてがそれぞれ2つのエラーをスローするはずですが、最初のオブジェクトメンバーだけがそれに不満を持ちます。 – autoboxer

+0

それは問題でした。タブの代わりにスペースを使用して整列させる必要がありました。 – autoboxer

答えて

2

このルールの設定は本当に複雑です。

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

しかし、このような構成であっても、ESLintはコロンのための任意の場所を許可しない:私は何を探していることは、このようなものだと思います。彼らはできるだけオブジェクトの最長のキー名に近づけなければなりません。私は提供された設定で正しくlintのすること

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

:だから、上記の構成で、あなたのコードは、に変更することがあります。

+0

Ilyaありがとう、私が直面していた問題の半分は間違いありませんでした。もう半分は、スペースの代わりにタブを使用していたことです。タブとの位置合わせが難しいため、使用できません。この問題の概要:https://github.com/eslint/eslint/issues/1727 – autoboxer

関連する問題