原文链接:Delete ␍ 最简单最有效的解决方法和解释(VScode)
原文链接:ESLint: Delete ␍(prettier/prettier) 错误解决方案

以下是备份:

一、 原因
由于历史原因,windows 和 linux 两个系统的文本文件的换行符不一致;
Windows在换行的时候,同时使用了回车符CR和换行符LF,即CRLF;
而Mac和Linux系统,仅仅使用了换行符LF;
较老版本的Mac系统使用的是回车符CR;
从而导致,文本在不同系统下创建和使用之时,就会出现不兼容的问题;
项目仓库中默认是Linux环境下提交的代码,文件默认是以LF结尾的(工程化需要,统一标准);
但是我们的 Prettier 插件默认 LF;
二、 解决

  1. 点击一个个文件手动切换(效率较低) 在这里插入图片描述

  2. 报错下面已经跟上解决方案了
    在这里插入图片描述

    yarn dev --fix
    
  3. 打开工作区设置,搜索eol,改成\n
    在这里插入图片描述
    注:只对新建的文件生效,对已有文件不生效。

  4. 关闭git自动转换
    这个问题是因为Windows在换行的时候,同时使用了回车符CR和换行符LF,即CRLF; 而项目仓库中默认是Linux环境下提交的代码,文件默认是以LF结尾的,因此,文本文件在不同系统下创建和使用时就会出现不兼容的问题,当我用windows电脑git clone代码的时候,若我的autocrlf(在windows下安装git,该选项默认为true)为true,那么文件每行会被自动转成以CRLF结尾,若对文件不做任何修改,pre-commit执行eslint的时候就会提示你删除CR。

    git config --global core.autocrlf false
    

    注:关闭之后需要重新克隆项目才能生效
    注:如果只需要设置这个项目,不想全局设置,可以把 --global 去掉,不会变成一次性的命令

    git config core.autocrlf false
    

更多推荐