版本

lines-around-directive

要求或禁止在指令周围换行

🔧 可修复

此规则报告的一些问题可以通过--fix 命令行选项自动修复

此规则已在 ESLint v4.0.0 中**弃用**,并由 padding-line-between-statements 规则替换。

指令用于在 JavaScript 中指示执行环境,脚本希望选择加入某个功能,例如"strict mode"。指令在文件或函数块顶部的 指令序言中组合在一起,并应用于其发生的范围。

// Strict mode is invoked for the entire script
"use strict";

var foo;

function bar() {
  var baz;
}
var foo;

function bar() {
  // Strict mode is only invoked within this function
  "use strict";

  var baz;
}

规则详情

此规则要求或禁止在指令序言周围使用空行。此规则不强制执行任何关于各个指令之间空行的约定。此外,它不要求在指令序言之前使用空行,除非它们前面有注释。如果您希望强制执行此样式,请使用 padded-blocks 规则。

选项

此规则有一个选项。它可以是字符串或对象

  • "always"(默认)强制在指令周围使用空行。
  • "never"禁止在指令周围使用空行。

或者

{
  "before": "always" or "never"
  "after": "always" or "never",
}

always

这是默认选项。

使用"always"选项时,此规则的错误代码示例

在 Playground 中打开
/* eslint lines-around-directive: ["error", "always"] */

// comment
"use strict";
var foo;

function foo() {
  "use strict";
  "use asm";
  var bar;
}

function foo() {
  // comment
  "use strict";
  var bar;
}
在 Playground 中打开
/* eslint lines-around-directive: ["error", "always"] */

// comment
"use strict";
"use asm";
var foo;

使用"always"选项时,此规则的正确代码示例

在 Playground 中打开
/* eslint lines-around-directive: ["error", "always"] */

// comment

"use strict";

var foo;

function foo() {
  "use strict";
  "use asm";

  var bar;
}

function foo() {
  // comment

  "use strict";

  var bar;
}
在 Playground 中打开
/* eslint lines-around-directive: ["error", "always"] */

// comment

"use strict";
"use asm";

var foo;

never

使用"never"选项时,此规则的错误代码示例

在 Playground 中打开
/* eslint lines-around-directive: ["error", "never"] */

// comment

"use strict";

var foo;

function foo() {
  "use strict";
  "use asm";

  var bar;
}

function foo() {
  // comment

  "use strict";

  var bar;
}
在 Playground 中打开
/* eslint lines-around-directive: ["error", "never"] */

// comment

"use strict";
"use asm";

var foo;

使用"never"选项时,此规则的正确代码示例

在 Playground 中打开
/* eslint lines-around-directive: ["error", "never"] */

// comment
"use strict";
var foo;

function foo() {
  "use strict";
  "use asm";
  var bar;
}

function foo() {
  // comment
  "use strict";
  var bar;
}
在 Playground 中打开
/* eslint lines-around-directive: ["error", "never"] */

// comment
"use strict";
"use asm";
var foo;

before & after

使用{ "before": "never", "after": "always" }选项时,此规则的错误代码示例

在 Playground 中打开
/* eslint lines-around-directive: ["error", { "before": "never", "after": "always" }] */

// comment

"use strict";
var foo;

function foo() {
  "use strict";
  "use asm";
  var bar;
}

function foo() {
  // comment

  "use strict";
  var bar;
}
在 Playground 中打开
/* eslint lines-around-directive: ["error", { "before": "never", "after": "always" }] */

// comment

"use strict";
"use asm";
var foo;

使用{ "before": "never", "after": "always" }选项时,此规则的正确代码示例

在 Playground 中打开
/* eslint lines-around-directive: ["error", { "before": "never", "after": "always" }] */

// comment
"use strict";

var foo;

function foo() {
  "use strict";
  "use asm";

  var bar;
}

function foo() {
  // comment
  "use strict";

  var bar;
}
在 Playground 中打开
/* eslint lines-around-directive: ["error", { "before": "never", "after": "always" }] */

// comment
"use strict";
"use asm";

var foo;

使用{ "before": "always", "after": "never" }选项时,此规则的错误代码示例

在 Playground 中打开
/* eslint lines-around-directive: ["error", { "before": "always", "after": "never" }] */

// comment
"use strict";

var foo;

function foo() {
  "use strict";
  "use asm";

  var bar;
}

function foo() {
  // comment
  "use strict";

  var bar;
}
在 Playground 中打开
/* eslint lines-around-directive: ["error", { "before": "always", "after": "never" }] */

// comment
"use strict";
"use asm";

var foo;

使用{ "before": "always", "after": "never" }选项时,此规则的正确代码示例

在 Playground 中打开
/* eslint lines-around-directive: ["error", { "before": "always", "after": "never" }] */

// comment

"use strict";
var foo;

function foo() {
  "use strict";
  "use asm";
  var bar;
}

function foo() {
  // comment

  "use strict";
  var bar;
}
在 Playground 中打开
/* eslint lines-around-directive: ["error", { "before": "always", "after": "never" }] */

// comment

"use strict";
"use asm";
var foo;

何时不使用它

如果您对指令序言之前或之后是否应该有空行没有任何严格约定,则可以安全地禁用此规则。

兼容性

版本

此规则是在 ESLint v3.5.0 中引入的。

资源

更改语言