Prettier 的 htmlWhitespaceSensitivity 到底该怎么用? 端木梓希 提问于 2026-03-21 12:37:21 阅读 4 工具 我在用 Prettier 格式化 Vue 组件时,发现 HTML 里的空格有时候被删掉导致样式错乱。查了文档说可以用 htmlWhitespaceSensitivity 配置,但我设成 "strict" 还是没效果,这是为啥? 我的 .prettierrc 是这样写的: { "htmlWhitespaceSensitivity": "strict" } Prettier 我来解答 赞 1 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 UE丶景荣 Lv1 htmlWhitespaceSensitivity 设置为 "strict" 应该会保留所有的空格,但有时候效果可能不如预期,尤其是嵌入式框架或者特定的模板语法里。你检查一下 Vue 组件中的空格是不是在某些特殊标签或者指令内?这些地方 Prettier 可能会有不同的处理方式。 另外,确保你的 Prettier 版本是最新的,有时候问题可能是由 bug 引起的。升级一下试试? 如果问题依然存在,可以尝试在你的编辑器插件设置里调整一下 Prettier 的配置,有时候全局和项目级别的配置会冲突。 最后,你也可以试试看把这个选项设置为 "ignore" 或 "css",看看哪种更适合你的项目风格。有时候 "css" 能够更好地保留空格,尤其是在样式相关的 HTML 结构里。 记得保存修改后的 .prettierrc 文件后重新格式化文件,确保配置生效。希望这些能帮到你。 回复 点赞 2026-03-21 13:07 加载更多 相关推荐 1 回答 5 浏览 Prettier 的 endOfLine 配置到底该怎么设才不报错? 我在 Windows 上写 React 项目,每次提交代码 Git 都提示 CRLF 警告,说 Prettier 格式化后换行符变了。我试过在 .prettierrc 里设 "endOfLine": ... 小志诚 工具 2026-03-21 14:29:20 2 回答 38 浏览 Prettier 和 ESLint 冲突了怎么办? 我用 create-react-app 搭了个项目,装了 Prettier 和 ESLint,但它们格式化规则老打架。比如 ESLint 要求分号,Prettier 却自动删掉,保存时一会儿加一会儿删... Newb.梓涵 工具 2026-02-26 22:52:21 1 回答 32 浏览 Prettier 和 ESLint 冲突了怎么办? 我刚在项目里同时配了 Prettier 和 ESLint,结果保存代码时格式老是打架。比如 ESLint 要求分号结尾,Prettier 却自动删掉,改完一保存又变回去了,烦死了。 我试过装 esli... 司马雨帆 工具 2026-02-25 03:41:18 2 回答 74 浏览 ESLint和Prettier配置冲突怎么解决?代码格式检查老报错 最近团队要求统一代码规范,我把ESLint和Prettier都配上了,但每次保存代码都会报错,比如"Unexpected spaces"和"Missing semicolon"。 尝试过安装eslin... Zz子斌 前端 2026-02-17 00:11:28 2 回答 41 浏览 在Vue项目里改Prettier的parser选项没效果怎么办? 我在Vue项目里配置Prettier时,发现代码格式化总是报错,明明设置了parser是"vue": { "parser": "vue", "semi": false } 但保存时还是提示Failed... 一羽霏 工具 2026-02-13 20:13:26 2 回答 66 浏览 Prettier安装了Vue插件但模板格式没变化怎么办? 刚给项目装了prettier-plugin-vue,配置了.prettierrc里plugins和singleQuote选项,但保存时双引号还是没转成单引号,vue文件的模板结构也没自动整理。重启过V... 欧阳琪帆 工具 2026-02-05 13:17:28 2 回答 85 浏览 Prettier格式化后自闭合标签括号间多出空格怎么解决? 我在用Prettier格式化HTML时发现,像这样的自闭合标签,格式化后变成了,括号里多了一个空格,但我想让它保持紧贴的形式,该怎么调整啊? 我尝试过搜索bracketSpacing配置,但没搞懂具体... UX-冰冰 工具 2026-02-01 13:52:27 2 回答 45 浏览 Prettier的printWidth设置后代码还是换行了是怎么回事? 在React项目里设置了Prettier的printWidth为80,但写长字符串时代码还是在80字符前强行换行了。比如写这种JSX: {`const longText = '这个字符串明明没到80个... 技术玉曼 工具 2026-01-27 23:56:21 1 回答 7 浏览 Prettier 的 bracketSpacing 设置为啥没生效? 我在 Vue 项目里配置了 Prettier 的 bracketSpacing: false,但对象字面量里的花括号还是有空格,根本没变化,是我配错了吗? 已经试过重启编辑器、删 node_modul... 设计师雨辰 工具 2026-03-19 21:16:16 1 回答 7 浏览 Prettier 为什么没格式化我的 JavaScript 代码? 我装了 Prettier 插件,也保存了文件,但这段代码一点都没变,是不是配置哪里出问题了? 我试过在 VS Code 里手动触发格式化,也检查了默认格式化工具选的是 Prettier,但还是没反应。... 百里景叶 工具 2026-03-17 17:17:16
另外,确保你的 Prettier 版本是最新的,有时候问题可能是由 bug 引起的。升级一下试试?
如果问题依然存在,可以尝试在你的编辑器插件设置里调整一下 Prettier 的配置,有时候全局和项目级别的配置会冲突。
最后,你也可以试试看把这个选项设置为 "ignore" 或 "css",看看哪种更适合你的项目风格。有时候 "css" 能够更好地保留空格,尤其是在样式相关的 HTML 结构里。
记得保存修改后的 .prettierrc 文件后重新格式化文件,确保配置生效。希望这些能帮到你。