问题原因是eslint与prettier对换行符的检测,导致代码报Delete`cr`
首先来介绍一下LF和CRLF
- LF:在文本文件中,每行的结束仅使用一个换行符 ,也就是说LF仅包含一个字符,即换行符(
\n
)。 - CRLF:在文本文件中,每行的结束使用回车符和换行符的组合, 包含两个字符,即回车符(
\r
)和换行符(\n
)。
因此只要我们对eslint或pretter进行配置不对某种特定换行符进行检测就可以避免此错误, 因此此处提供两个解决方法
1. 配置 ESLint 规则:打开项目的 ESLint 配置文件(通常是.eslintrc
或.eslintrc.js
),增加此配置
rules: {
'prettier/prettier': ['error', { endOfLine: 'auto' }],
}
2. 配置Prettier规则: 通常是项目根目录下的.prettierrc
"endOfLine":"auto"