问题出现的原因:
从远程下代码,发现有很多的变更,但文件内容没变,最后发现是换行符不同导致的,遂需要批量解决。
实现方法:
1.点击下载 UNIX2DOS工具。下载后是一个ZIP的压缩包,解压到某目录下(这个路径后面要用)。
2. 配置环境变量。配置后,新开一个cmd 窗口, 输入path,看到设置的路径就代表着成功。
3.开启 vscode 或者其他编辑器 的自动保存功能(非必须但非常建议)。
4.进入项目根文件(建议不要包含node_modules文件夹,因为里面的文件太多了,跑起来慢),打开其路径下的cmd 窗口,按照需要选择下面的命令即可。
# **将 CRLF 转为 LF; *.vue *.js表示匹配相应文件后缀;使用时删掉本行
for /R %G in (*.vue *.js *.svg *.json *.css *.scss) do dos2unix "%G"
# **将 LF 转为 CRLF;
for /R %G in (*.vue *.js *.svg *.json *.css *.scss) do unix2dos "%G"
- 完成的状态(当出现下面的情况时 基本就没啥问题了。)
可能出现的问题:
设置完 环境变量后 ,输入相关命令, 提示
“dos2unix 既不是内部或外部命令,也不是可运行的程序”的解决方法
答:这是由于 环境变量没设置好,或者当前的cmd 窗口 不是最新的 导致的。
其他:
LF 是 Linux 的换行符标记
CRLF 是windows 的换行符标记