You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置typescript-eslint规则忽略lit-html中html函数的缩进校验

问题原因

你之前配置的"TemplateLiteral > *"仅匹配普通模板字面量的子节点,而lit-html的html调用属于**带标签的模板字面量(TaggedTemplateExpression)**AST节点类型,原有规则匹配不到对应节点,因此不生效。

解决方案

方案1:调整ignoredNodes匹配规则

直接修改@typescript-eslint/indent规则的忽略节点配置,匹配所有标签为html的带标签模板表达式的全部子节点:

"@typescript-eslint/indent": [
  "error",
  2,
  {
    "ignoredNodes": [
      "TaggedTemplateExpression[tag.name=\"html\"] *"
    ]
  }
]

上述配置的ignoredNodes是ESLint indent规则的原生参数,支持传入ESQuery选择器匹配AST节点,匹配到的节点的缩进不会被规则校验。

方案2:使用lit专属ESLint插件

如果需要保留模板内部的合理校验而不是完全忽略缩进,可使用适配lit的专用ESLint插件,该插件原生支持lit-html的模板语法,会自动处理模板内部的缩进规则,不会和全局缩进规则冲突:

  • 安装依赖:
npm install eslint-plugin-lit --save-dev
  • 调整ESLint配置:
{
  "plugins": ["lit"],
  "rules": {
    "@typescript-eslint/indent": ["error", 2],
    "lit/indent": ["error", 2]
  }
}

内容的提问来源于stack exchange,提问作者Tina Chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 19:12:03