ESLint: error Delete `␍` prettier/prettier解决方案

项目运行时,偶尔会报错:


错误截图

该错误通常与行尾换行符相关。

一、行尾换行符问题

通常是由于不同操作系统之间的换行符差异引起的。

windows:在换行的时候同时使用了CR和LF换行符,即\r\n

Mac和Linux:仅仅使用了换行符LF,即\n

在使用 Git 等版本控制工具时,可能会出现行尾换行符混合的情况,从而导致 Prettier 报错。

二、解决方案


1. 单个文件解决:

选中报错的文件,然后点击vscode编辑器下面的CRLF,切换到LF,如下图


切换换行符

这种方法适用于报错文件比较少的情况。

2. 在.eslintrc.js中增加配置,忽略换行格式的检查


配置图

3. 在控制台执行指令:

yarn run lint --fix

自动将CRLF转换成了LF。但是会有好多文件有修改记录。需要提交一下。

4. 根据分析问题可知,这一切都是git导致的(git会自动将lf转为crlf)

好在git暴漏了这个配置项core.autocrlf,我们可以通过修改此属性,将全局autocrlf设置为false。

git config --global core.autocrlf false

小结

代码换行格式不同,不会影响项目的运行和编译,但是每次修改以后都会提交,这样容易造成上面的错误。

所以本地忽略换行符校验,git上不自动转换CRLF,是比较合适的解决方案。具体可根据自己需求选择。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容