React 中 eslint 报 LF、CRLF 错误处理
react 中出现 Expected linebreaks to be ‘LF’ but found ‘CRLF’ 错误、使用 prettier 后出现 Delete ␍ 警告的处理记录
问题原因
在各操作系统下,文本文件所使用的换行符是不一样的。UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是 0x0D(CR),后来的 OS X 在更换内核后与 UNIX 保持一致了。但 DOS/Windows 一直使用 0x0D0A(CRLF)作为换行符。
Git 提供了一个 “换行符自动转换” 功能。这个功能默认处于自动模式,当你在签出文件时,它试图将 UNIX 换行符(LF)替换为 Windows 的换行符(CRLF);当你在提交文件时,它又试图将 CRLF 替换为 LF。Git 的“换行符自动转换”功能听起来似乎很智能、很贴心,因为它试图一方面保持仓库内文件的一致性(UNIX 风格),一方面又保证本地文件的兼容性(Windows 风格)。但有时候这个功能可以会遇到 bug 导致出现错误。
下面是几个处理方法
方法一:修改项目配置
修改 .eslintrc.js 文件,修改为对应的系统。
module.exports = { |
方法二:禁用 git 的自动换行功能 (最优)
分别执行: |
方法三:修改 vscode 设置
VSCode 配置搜索 eol ,可以选择使用 \n 还是 \r\n 。
转换符批量文件换行
DOS2UNIX 和 UNIX2DOS 是两个文本文件转换工具,用于在 Windows 和 Unix/Linux 之间转换文件格式。
下载地址: http://www.bastet.com/
使用文档:https://waterlan.home.xs4all.nl/dos2unix/zh_CN/man1/dos2unix.htm