用于语句之间填充行的 Eslint 配置

问题描述 投票:0回答:1

我们试图在

const
声明位于函数内部和不在函数内部时实现不同的 linting 行为。在顶级范围内,我们希望它们之间有一条线。内部块(if 语句、函数、类等)之间没有线条。

想要的:

const foo = 'foo';

const bar = 'bar';

const baz = ()=> {
 const hello = 'hello';
 const wolrd = 'world';
}

错误:

//Incorrect, top level should have a space between consts
const foo = 'foo';
const bar = 'bar';

const baz = ()=> {
 //incorrect, block scoped should be continuos.
 const hello = 'hello';

 const wolrd = 'world'
}

我尝试添加到我的 .eslintrc 文件中:

"padding-line-between-statements": [
  "error",
  { "blankLine": "never", "prev": "const", "next": "const"},
],

但这将迫使始终删除该线。

行为相同但相反:

{ "blankLine": "always", "prev": "const", "next": "const"},

但在我解释的两种情况下总是成功地提供相同的行为。 我没有确定如何在设置中区分它们

如有任何建议,我们将不胜感激。

谢谢。

javascript eslint eslint-config-airbnb
1个回答
0
投票

首先,根据 https://eslint.org/docs/latest/use/configure/configuration-files

eslintrc
已弃用。您应该使用最新的
eslint.config.js
/
eslint.config.mjs
/
eslint.config.cjs
进行配置。

话虽如此,您是否尝试过添加“group”属性?

{
  "rules":{
    "prefer-const": ["error", { "destructuring": "any", "ignoreReadBeforeAssign": false }],
    "padding-line-between-statements": [
      "error",
      { "blankLine": "always", "prev": "const", "next": "const", "group": "top-level" },
      { "blankLine": "never", "prev": "const", "next": "const", "group": "block-like" }
    ]
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.