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

如何配置ESLint规则禁止字符串或模板字面量中出现"foo"

配置ESLint禁止字符串/模板字面量中出现"foo"

你已经通过no-restricted-syntax规则的Literal[value=/foo/]匹配了普通字符串(比如const str1 = 'foo bar';),要处理模板字面量(比如const str2 = foo ${bar};),需要针对TemplateLiteral类型的AST节点添加匹配规则:

完整规则配置

{
  "rules": {
    "no-restricted-syntax": [
      "error",
      "Literal[value=/foo/]",
      "TemplateLiteral > TemplateElement[value.raw=/foo/]"
    ]
  }
}

规则说明

  • TemplateLiteral:对应ESLint AST中的模板字面量节点
  • TemplateElement:模板字面量中的静态文本片段(比如示例里${bar}前的foo 就是这类节点)
  • value.raw:存储模板片段的原始字符串内容(保留模板里的原始格式,比value.cooked更适合做内容匹配)
  • /foo/:正则表达式,匹配包含"foo"的任意文本

这样配置后,普通字符串和模板字面量中出现的"foo"都会触发ESLint错误提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 23:45:01