elsint报错Delete `␍`eslintprettier/prettier
这个错误是由 ESLint 和 Prettier 插件引起的。它通常发生在你的代码提交到版本控制系统(如Git)之前。这个错误表明你的代码中有不符合 Prettier 格式化标准的行尾结束符。
在 Windows 系统中,文件的行尾结束符通常是由回车(CR)和换行(LF)组成,即 ␍␊
(\r\n
),而在 Unix/Linux 系统中,行尾结束符是单个换行符(LF),即 ␊
(\n
)。Prettier 默认使用 Unix 风格的行尾结束符。
解决这个问题的方法是让 ESLint 和 Prettier 使用一致的行尾结束符。
配置 Prettier:
在你的
.prettierrc
或prettier.config.js
文件中,设置endOfLine
为lf
:{ "endOfLine": "lf" }
如果你使用的是 VSCode 或其他文本编辑器,可以设置文本编辑器保存文件时自动转换行尾结束符:
- 在 VSCode 中,打开设置(
File > Preferences > Settings
),搜索files.eol
,选择\n
作为行尾结束符。
- 在 VSCode 中,打开设置(
如果你想要在提交代码时自动转换行尾结束符,可以使用 Git 的钩子(hook)来实现。在你的 Git 仓库中,可以添加一个
pre-commit
钩子脚本来自动转换行尾结束符。例如,使用sed
可以这样做:#!/bin/sh git diff --cached --name-only --diff-filter=ACM | grep -e "\.jsx\$" | xargs sed -i 's/\r$//' exit 0
这个脚本会在你提交(commit)前检查有变更的 JavaScript 文件(
.jsx
),并移除行尾的 CR 字符。
请根据你的开发环境和偏好选择适当的解决方案。
评论已关闭