Prettier格式化后自闭合标签括号间多出空格怎么解决? UX-冰冰 提问于 2026-02-01 13:52:27 阅读 95 工具 我在用Prettier格式化HTML时发现,像这样的自闭合标签,格式化后变成了,括号里多了一个空格,但我想让它保持紧贴的形式,该怎么调整啊? 我尝试过搜索bracketSpacing配置,但没搞懂具体怎么设置。比如下面这段代码格式化后: 会变成这样: 这个自闭合标签的括号间空格和 标签的换行让我很困扰,但查文档只看到bracketSpacing选项,不知道具体该怎么配置才能达到想要的效果。 我来解答 赞 5 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 2 条解答 Prog.书妍 Lv1 Prettier 默认会对自闭合标签的括号间插入空格,比如 会被格式化成 。这种行为和你想的刚好相反。 这问题不是 bracketSpacing 控制的,那个是针对对象的括号,不是 HTML 标签。 想让自闭合标签保持紧贴,需要改 Prettier 的插件行为,比如用 prettier-plugin-organize-attributes 或者 prettier-html。其中 prettier-html 提供了更细粒度的配置。 安装插件: npm install --save-dev prettier-html 然后在 .prettierrc 中加: { "plugins": ["prettier-html"], "htmlWhitespaceSensitivity": "ignore", "endOfLine": "auto" } 重点是 htmlWhitespaceSensitivity,设成 ignore 之后 Prettier 就不会强制在自闭合标签里加空格了。 如果你还用了 ESLint,建议同步检查 eslint-plugin-html 的配置,确保格式化之后不会被二次修改。 回复 点赞 10 2026-02-05 10:07 闲人青燕 Lv1 { "bracketSpacing": false, "htmlWhitespaceSensitivity": "ignore" } 把上面这段配置加到你的 Prettier 配置文件里,问题就能解决了。关键是 htmlWhitespaceSensitivity 这个选项,设置为 "ignore" 就能忽略多余的空格和换行。 话说回来,Prettier 有时候确实会搞一些让人头大的格式化,但好在配置项够用。如果你用的是 VSCode,记得检查下全局和项目配置有没有冲突。代码放这了,试试吧。 回复 点赞 16 2026-02-01 14:01 加载更多 相关推荐 2 回答 44 浏览 Prettier 为什么没格式化我的 HTML 标签换行? 我用 Prettier 格式化 HTML 文件,但发现它没把长标签自动换行,看起来特别挤。明明在 .prettierrc 里设置了 printWidth: 80,为啥不起作用? 比如下面这段代码,Pr... Code°采涵 工具 2026-03-13 15:41:20 2 回答 39 浏览 为什么Prettier插件无法正确格式化HTML中的自定义组件标签? 我在用Prettier+prettier-plugin-vue格式化Vue单文件组件时,发现自定义组件的标签会自动合并成一行,比如<MyComponent></MyComponent... Good“莉莉 工具 2026-02-16 23:08:24 2 回答 39 浏览 Prettier 的 htmlWhitespaceSensitivity 到底该怎么用? 我在用 Prettier 格式化 Vue 组件时,发现 HTML 里的空格有时候被删掉导致样式错乱。查了文档说可以用 htmlWhitespaceSensitivity 配置,但我设成 "strict... 端木梓希 工具 2026-03-21 12:37:21 2 回答 55 浏览 Prettier配置中如何让对象字面量的括号始终换行? 在React项目里用Prettier格式化时,发现对象字面量的大括号没有按预期换行。比如写成这样:{ foo: 'bar' },但根据团队规范需要强制换行成: { foo: 'bar' } 我尝试在.... ♫蒙蒙 工具 2026-02-15 01:03:25 1 回答 51 浏览 Prettier 插件不格式化 Vue 单文件组件里的 script 部分怎么办? 我装了 Prettier 和 @prettier/plugin-pug、prettier-plugin-vue 这些插件,但保存时 Vue 文件里的 script 代码还是没被格式化,template... Designer°利利 工具 2026-03-25 10:00:20 1 回答 45 浏览 Prettier 插件为啥不格式化我的 HTML 自定义标签? 我装了 Prettier 和 @trivago/prettier-plugin-sort-imports,但发现它对自定义 HTML 标签完全没反应,格式化后还是乱糟糟的。是我配置漏了啥吗? 比如下面... 司徒培乐 工具 2026-03-14 21:05:20 1 回答 31 浏览 Prettier 格式化 CSS 时为什么把我的嵌套规则搞乱了? 我最近在项目里配置了 Prettier,但发现它格式化 CSS 的时候,会把我在 SCSS 里写的嵌套规则直接打平,导致样式失效。明明 .prettierrc 里也没改什么特殊配置,就是默认设置。这到... ლ郭云 前端 2026-03-11 15:37:19 1 回答 33 浏览 Prettier 格式化时该选哪个 Parser? 我在用 Prettier 格式化一个 .vue 文件,但控制台提示“Parser not found”。我试过在配置里指定 parser 为 vue,但好像不对?官方文档说会自动识别,可我的项目就是不... 设计师爱娜 工具 2026-03-08 13:16:19 1 回答 27 浏览 Prettier 格式化 Vue 模板时为什么缩进不对? 我用 Prettier 格式化 Vue 文件,但模板部分的缩进总是乱的,明明配置了 tabWidth 为 2,可它还是用 4 个空格。试过重启编辑器、重装插件都没用。 这是我的组件代码: <te... 闲人志利 前端 2026-03-04 12:13:18 1 回答 26 浏览 Prettier 为啥不格式化我的 Vue 单文件组件? 我用 Prettier 格式化 Vue 文件时,模板部分完全没反应,是配置问题吗? 我已经装了 Vetur 和 Prettier 插件,也设置了默认格式化工具为 Prettier,但保存时只有 scr... 令狐淇钧 工具 2026-02-28 03:42:22 首页 菜单 问答菜单 全部 前端 框架 组件 优化 交互 工具 移动 安全 关注 我的
会被格式化成![]()
。这种行为和你想的刚好相反。这问题不是
bracketSpacing控制的,那个是针对对象的括号,不是 HTML 标签。想让自闭合标签保持紧贴,需要改 Prettier 的插件行为,比如用
prettier-plugin-organize-attributes或者prettier-html。其中prettier-html提供了更细粒度的配置。安装插件:
然后在
.prettierrc中加:重点是
htmlWhitespaceSensitivity,设成ignore之后 Prettier 就不会强制在自闭合标签里加空格了。如果你还用了 ESLint,建议同步检查
eslint-plugin-html的配置,确保格式化之后不会被二次修改。把上面这段配置加到你的 Prettier 配置文件里,问题就能解决了。关键是
htmlWhitespaceSensitivity这个选项,设置为"ignore"就能忽略多余的空格和换行。话说回来,Prettier 有时候确实会搞一些让人头大的格式化,但好在配置项够用。如果你用的是 VSCode,记得检查下全局和项目配置有没有冲突。代码放这了,试试吧。