# san/comment-directive

支持 <template> 中的注释指令

  • ⚙️ 此规则包含于 "plugin:san/base", "plugin:san/essential", "plugin:san/strongly-recommended""plugin:san/recommended".

此规则的唯一目的是在 <template> 和块级元素提供 eslint-disable 功能。 它支持使用以下注释:

  • eslint-disable
  • eslint-enable
  • eslint-disable-line
  • eslint-disable-next-line

注意

我们不能在标签内写 HTML 注释。

# 📖 规则细节

ESLint 不提供任何 API 来增强eslint-disable功能,并且 ESLint 规则不能影响其他规则。 但是 ESLint 提供了 processors API (opens new window)

此规则将所有类似eslint-disable的注释作为错误发送到.san文件处理器中的post-process,然后post-process删除所有san/comment-directive错误及禁用区域中提示的错误 .

<template> <!-- eslint-disable-next-line san/max-attributes-per-line --> <div a="1" b="2" c="3" d="4" /> </template>
Now loading...

eslint-disable 的注释可以在 <template> 中或块级元素级别使用。

<template> <!-- eslint-disable-next-line san/max-attributes-per-line --> <div a="1" b="2" c="3" d="4" /> </template> <!-- eslint-disable-next-line san/component-tags-order --> <style> </style>
Now loading...

eslint-disable 注释在一个块级元素过后则无效。

<style> </style> <!-- eslint-disable --> <script> /* <- Warning has been disabled. */ </script> <template> <!-- <- Warning are not disabled. --> </template>
Now loading...

eslint-disable 注释可以包含说明来解释为什么需要注释。 说明必须出现在指令之后,并由两个或多个连续的 - 字符与指令分隔。 例如:

<template> <!-- eslint-disable-next-line san/max-attributes-per-line -- Here's a description about why this disabling is necessary. --> <div a="1" b="2" c="3" d="4" /> </template>
Now loading...

# 🔧 配置

{
  "san/comment-directive": ["error", {
    "reportUnusedDisableDirectives": false
  }]
}
  • reportUnusedDisableDirectives ... 如果为 true,将提示未得到使用(因此不需要)的禁用指令。 默认false

# { "reportUnusedDisableDirectives": true }

<template> <!-- ✓ GOOD --> <!-- eslint-disable-next-line san/max-attributes-per-line --> <div a="1" b="2" c="3" d="4" /> <!-- ✗ BAD --> <!-- eslint-disable-next-line san/max-attributes-per-line --> <div a="1" /> </template>
Now loading...

注意

如果没有使用到禁用注释,将会提示不能用eslint-disable 注释来限制。

# 📚 深入阅读

# 🔍 实现