ESLint -- 强制在对象字面量的键和值之间使用一致的空格 (key-spacing)

详细讲解请看key-spacing

配置文件代码:

// enforces spacing between keys and values in object literal properties
'key-spacing': ['error', { beforeColon: false, //冒号之前不能有空格
afterColon: true //冒号之后有空格
}],

Airbnb要求:冒号之前不能有空格,冒号之后要有空格,且只能有一个空格

Options

该规则有一个对象选项:

  • "beforeColon": false (默认) 禁止在对象字面量的键和值之间存在空格
  • "beforeColon": true 要求在对象字面量的键和值之间存在至少有一个空格
  • "afterColon": true (默认) 要求在对象字面量的冒号和值之间存在至少有一个空格
  • "afterColon": false 禁止在对象字面量的冒号和值之间存在空格
  • "mode": strict (默认) 要求在冒号前后只有一个空格
  • "mode": minimum 要求在冒号前后最少有一个空格
  • "align": "value" 要求对象字面量中的值水平对齐
  • "align": "colon" 要求对象字面量中的冒号和值都水平对齐
  • "align" 允许细粒度的控制对象字面量值的间距直到对齐
  • "singleLine" 为单行对象字面量指定一个空格风格
  • "multiLine" 为多行对象字面量指定一个空格风格

    请注意,你可以使用顶级选项或分组选项(singleLine 和 multiLine),但不能同时使用两者。

代码演示:


beforeColon

默认选项 { "beforeColon": false } 的 错误 代码示例:

/*eslint key-spacing: ["error", { "beforeColon": false }]*/

var obj = { "foo" : 42 };

默认选项 { "beforeColon": false } 的 正确 代码示例:

/*eslint key-spacing: ["error", { "beforeColon": false }]*/

var obj = { "foo": 42 };

afterColon

默认选项 { "afterColon": true } 的 错误 代码示例:

/*eslint key-spacing: ["error", { "afterColon": true }]*/
var obj = { "foo":42 };

默认选项 { "afterColon": true } 的 正确 代码示例:

/*eslint key-spacing: ["error", { "afterColon": true }]*/

var obj = { "foo": 42 };

mode

默认选项 { "mode": "strict" } 的 错误 代码示例:

/*eslint key-spacing: ["error", { "mode": "strict" }]*/

call({
    foobar: 42,
    bat:    2 * 2
});

默认选项 { "mode": "strict" } 的 正确 代码示例:

/*eslint key-spacing: ["error", { "mode": "strict" }]*/

call({
    foobar: 42,
    bat: 2 * 2
});

results matching ""

    No results matching ""