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

是否有ESLint或Prettier规则可禁用无占位符的模板字面量?

解决方案

这个需求可以通过ESLint规则实现,同时支持自动修复:

1. 基础JS项目配置

在你的ESLint配置文件(.eslintrc.js、.eslintrc.json等)的rules字段中添加如下配置:

module.exports = {
  rules: {
    "quotes": ["error", "single", {
      "avoidEscape": true,
      "allowTemplateLiterals": false
    }]
  }
}

参数说明:

  • 第二个参数"single"指定代码默认使用单引号
  • allowTemplateLiterals: false 禁止没有占位符的模板字面量,有占位符的模板字面量不受该规则限制
  • avoidEscape: true 是可选配置,开启后如果字符串内部包含单引号不需要转义,可以自动使用双引号包裹,避免不必要的转义字符

配置完成后,执行eslint --fix即可自动将所有无占位符的模板字面量转换为单引号,完全符合需求。

2. TypeScript项目配置

如果是TS项目,使用@typescript-eslint/eslint-plugin提供的同名规则即可,配置参数完全一致:

module.exports = {
  rules: {
    "@typescript-eslint/quotes": ["error", "single", {
      "avoidEscape": true,
      "allowTemplateLiterals": false
    }]
  }
}

Prettier兼容说明

Prettier目前没有单独处理该场景的原生规则,你可以按照常规方案配置ESLint和Prettier兼容(使用eslint-config-prettier关闭两者冲突规则),上述ESLint规则不会和Prettier的默认格式化逻辑冲突,自动修复后的代码可以直接通过Prettier校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:09:04