4

最近我开始查看各种 JavaScript 风格指南,我最喜欢Airbnb

但是,当我使用 Airbnb 样式指南配置ESLint时,我注意到他们的文档中定义的一些规则根本没有被检查。例如:

  1. 将您的consts所有内容分组,然后将您的所有lets.
  2. 对布尔值使用快捷方式,但对字符串和数字使用显式比较。
  3. 用于//单行注释。将单行注释放在注释主题上方的换行符上。除非它在块的第一行,否则在注释前放置一个空行。

所以,如果你以这段代码为例:

const array = [1, 2, 3, 4, 5];
let foo = 'foo';
const bar = 'bar';

if (array.length) {
  console.log('Bar:', bar);
  // Chaniging foo
  foo = 'baz';
  console.log('Foo:', foo);
}

linter 应该抛出 3 个错误:

  1. 我没有将所有const分组,然后将所有let分组,我按顺序定义了它们。
  2. 我没有在if语句中使用显式比较 - array.length > 0
  3. 我没有在评论之前添加新行。

但是,linter 不会抛出任何错误。

4

1 回答 1

2

Airbnb 风格指南是关于如何编写代码的建议。
ESLint 是由一个单独的团队创建的工具,首先是 Nicholas C. Zakas。
所以推荐使用 ESLint 来自动检查一些规则,但不是全部。

一些 Airbnb 风格指南规则有尾随eslint: rule-name,表示它是否被选中。该主题的所有 3 条规则都没有。
还有一个页面详细说明了新规则的添加。它指出:“截至 2020 年,我们只接受与新 ECMAScript 功能相关的规则。我们更喜欢在插件中实现新规则”。

于 2021-12-07T09:44:44.213 回答