Prettier 的 endOfLine 配置到底该怎么设才不报错?

小志诚 阅读 6

我在 Windows 上写 React 项目,每次提交代码 Git 都提示 CRLF 警告,说 Prettier 格式化后换行符变了。我试过在 .prettierrc 里设 "endOfLine": "lf",也试过 "auto",但要么格式化后 Git 认为所有文件都变了,要么保存时编辑器又自动改回去,特别烦。

这是我的一个简单组件:

import React from 'react';

const Button = () => {
  return <button>Click me</button>;
};

export default Button;

到底该怎么配置才能让 Prettier、Git 和编辑器三者和平共处啊?

我来解答 赞 1 收藏
二维码
手机扫码查看
1 条解答
南宫忠娟
试试这个方法。这个问题主要是换行符不一致导致的。Windows 默认用 CRLF,而大多数现代工具链倾向于 LF。你需要统一一下。

首先,在你的项目根目录下创建或编辑 .editorconfig 文件,加入这些内容:
root = true

[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true


然后确保你的 Git 配置使用了正确的换行符处理方式。在命令行里输入:
git config --global core.autocrlf input


这样配置之后,Git 会把 CRLF 转换成 LF 在仓库里,但保持你在本地编辑时用 CRLF,这样可以避免冲突。

最后,在你的 .prettierrc 文件中设置 endOfLinelf
{ "endOfLine": "lf" }


这样配置下来,Prettier 会强制使用 LF,编辑器和 Git 也会配合处理好换行符,理论上就不会再有警告或者文件被误认为变化了。希望这能帮到你。
点赞
2026-03-21 14:36