# san/html-self-closing
要求自闭合样式
- ⚙️ 此规则包含于
"plugin:san/strongly-recommended"和"plugin:san/recommended"。 - 🔧 命令行 (opens new window)中的
--fix选项可以自动修复此规则报告的一些问题。
# 📖 规则细节
此规则目的是要求将自闭合标签应用为配置的样式。
在 San.js 模板中,我们可以为没有内容的元素使用两种样式。
<YourComponent></YourComponent><YourComponent/>(自闭合)
自闭合简单且更短,但 HTML 规范不支持它。
<template>
<!-- ✓ GOOD -->
<div/>
<img>
<MyComponent/>
<svg><path d=""/></svg>
<!-- ✗ BAD -->
<div></div>
<img/>
<MyComponent></MyComponent>
<svg><path d=""></path></svg>
</template>
# 🔧 配置
{
"san/html-self-closing": ["error", {
"html": {
"void": "never",
"normal": "always",
"component": "always"
},
"svg": "always",
"math": "always"
}]
}
html.void(默认"nerver")... HTML 空元素的样式。html.normal(默认"always")... HTML 除了空元素的样式。html.component( 默认"always") ... San.js 自定义组件的样式。svg(默认"always") .... SVG 元素的样式。math(默认"always") .... MathML 元素的样式。
每个选项都可以设置为以下值之一:
"always"...要求在没有内容的元素上自闭合。"nerver"... 禁止自闭合。"any"... 不要强制执行自闭合。
# html: {normal: "never", void: "always"}
<template>
<!-- ✓ GOOD -->
<div></div>
<img/>
<MyComponent/>
<svg><path d=""/></svg>
<!-- ✗ BAD -->
<div/>
<img>
<MyComponent></MyComponent>
<svg><path d=""></path></svg>
</template>