【问题标题】:How to align const indent in ESLint?如何在 ESLint 中对齐 const 缩进?
【发布时间】:2017-09-27 02:44:52
【问题描述】:

我正在使用ESLint 使我的 JavaScript 代码风格保持一致。我最喜欢的缩进级别是 4,我希望我的声明样式是这样的:

function () {
    let a = 1,
        bbb = 2;

    const cc = 3,
          ddd = 4;
}

但是有一个问题,因为每个结构的indent 规则需要一个数字,即基本缩进的乘积。如果我将基本缩进设置为 4,我似乎无法对齐 const。

如果我将规则设置为:

"indent": ["error", 4, {"VariableDeclarator": {"const": 1}}],

正确的对齐方式是 4 个空格:

const cc = 3,
    ddd = 4;

如果我将规则设置为 2:

"indent": ["error", 4, {"VariableDeclarator": {"const": 2}}],

预计需要 8 个空格:

const cc = 3,
        ddd = 4;

它不接受浮点数。如何使用 ESLint 以我想要的方式对齐 var、let 和 const?

【问题讨论】:

  • 缩进 4 个空格,然后忘记它。
  • 我认为答案是“你不能”。我认为与上一行对齐不是您通常在 JS 代码中看到的。就像你有一个函数的参数在多行上一样,你也不会缩进 args 以匹配上一行。
  • @loganfsmyth 经过一段时间的研究,我同意这可能是不可能的。但我不同意的是,它在 JS 中很少见。以这种方式对齐var 非常非常常见。 var 加上空格是 4 个字符长,这只是巧合。 let 也是如此。参数列表是另一回事,因为它本身不是一个块。
  • 解决方案:每个绑定使用单个变量 const 和 let 语句 :)

标签: javascript ecmascript-6 constants eslint


【解决方案1】:

也许值得一试:

function () {
    let a = 1,
        bbb = 2;

    const 
        cc = 3,
        ddd = 4;
}

【讨论】:

    【解决方案2】:

    根据https://eslint.org/docs/rules/indent,您可以使用: indent: ["error", 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } }

    您还可以使用以下规则避免此问题: https://eslint.org/docs/rules/one-var https://eslint.org/docs/rules/one-var-declaration-per-line

    【讨论】:

      猜你喜欢
      • 2020-04-02
      • 2018-01-06
      • 2017-11-27
      • 2014-03-11
      • 2016-06-06
      • 2021-08-11
      • 2018-09-12
      • 2019-03-01
      • 2016-07-28
      相关资源
      最近更新 更多