import/newline-after-import 风格
作用
强制在最后一个顶层 import 语句或 require 调用之后保留一行或多行空行。
为什么这不好?
如果没有空行,import/require 声明就会与后续逻辑混在一起, 这会影响可读性,也会让变更更难扫描。空行能清晰地 将依赖与实现分隔开来。
示例
以下是此规则的错误代码示例:
js
import * as foo from "foo";
const FOO = "BAR";js
import * as foo from "foo";
const FOO = "BAR";
import { bar } from "bar-lib";js
const FOO = require("./foo");
const BAZ = 1;
const BAR = require("./bar");以下是此规则的正确代码示例:
js
import defaultExport from "./foo";
const FOO = "BAR";js
import defaultExport from "./foo";
import { bar } from "bar-lib";
const FOO = "BAR";js
const FOO = require("./foo");
const BAR = require("./bar");
const BAZ = 1;当 count 设为 2 时,下列代码将被视为有效:
js
import defaultExport from "./foo";
const FOO = "BAR";js
import defaultExport from "./foo";
const FOO = "BAR";当 count 设为 2 时,下列代码将被视为无效:
js
import defaultExport from "./foo";
const FOO = "BAR";js
import defaultExport from "./foo";
const FOO = "BAR";当 count 设为 2 且 exactCount 设为 true 时,下列代码将被视为有效:
js
import defaultExport from "./foo";
const FOO = "BAR";当 count 设为 2 且 exactCount 设为 true 时,下列代码将被视为无效:
js
import defaultExport from "./foo";
const FOO = "BAR";js
import defaultExport from "./foo";
const FOO = "BAR";js
import defaultExport from "./foo";
const FOO = "BAR";js
import defaultExport from "./foo";
const FOO = "BAR";当 considerComments 设为 false 时,下列代码将被视为有效:
js
import defaultExport from "./foo";
// 此处有一些注释。
const FOO = "BAR";当 considerComments 设为 true 时,下列代码将被视为有效:
js
import defaultExport from "./foo";
// 此处有一些注释。
const FOO = "BAR";当 considerComments 设为 true 时,下列代码将被视为无效:
js
import defaultExport from "./foo";
// 此处有一些注释。
const FOO = "BAR";示例选项用法
json
{
"rules": {
"import/newline-after-import": ["error", { "count": 1 }]
}
}配置
此规则接受一个配置对象,包含以下属性:
considerComments
类型:boolean
默认值:false
count
类型:integer
默认值:1
exactCount
类型:boolean
默认值:false
如何使用
To enable this rule using the config file or in the CLI, you can use:
json
{
"plugins": ["import"],
"rules": {
"import/newline-after-import": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
plugins: ["import"],
rules: {
"import/newline-after-import": "error",
},
});bash
oxlint --deny import/newline-after-import --import-plugin版本
此规则已在 vnext 中添加。
