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

Angular HTML文件中Prettier将双引号内单引号转义为"的解决方法

修复Prettier转义HTML属性内引号的问题

1. 修正ESLint配置的错误

你当前的ESLint配置中,parserOptions字段错误地包含了extends和rules选项,这两个配置应该放在顶层而非解析器选项内部。修正后的HTML配置块如下:

{
  "files": [
    "*.html"
  ],
  "extends": [
    "plugin:@angular-eslint/template/recommended",
    "prettier"
  ],
  "rules": {
    "@angular-eslint/template/eqeqeq": ["off"],
    "@angular-eslint/template/banana-in-box": ["error"],
    "@angular-eslint/template/no-negated-async": ["off"],
    "max-len": ["error", { "code": 140 }]
  },
  "parserOptions": {
    "project": [
      "tsconfig.json"
    ]
  }
}

2. 调整Prettier配置解决引号转义

根据需求选择以下任意一种方案:

方案一:让HTML属性使用单引号(推荐)

在Prettier配置文件(.prettierrc或prettier.config.js)中添加以下配置:

{
  "singleQuote": true,
  "overrides": [
    {
      "files": ["*.html"],
      "options": {
        "singleQuote": true
      }
    }
  ]
}

处理后style属性会变为:

style='width: 100%; height: "400px"'

内部双引号无需转义,彻底避免"的问题。

方案二:保留属性双引号,禁止自动转义嵌套引号

若坚持使用双引号作为HTML属性引号,需确保Prettier版本≥2.4.0,然后在配置中添加:

{
  "overrides": [
    {
      "files": ["*.html"],
      "options": {
        "attributeQuoteStyle": "preserve"
      }
    }
  ]
}

该配置会让Prettier保留你原本的引号嵌套逻辑,不会自动转义内部的单引号。

3. 验证修复效果

重新执行lint格式化命令,检查HTML中的style属性是否不再出现"转义符号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 07:07:40