tuya SaaS前端框架本地运行时候报错Delete `␍`eslint(prettier/prettier)
根据官方文档的步骤,本地idea运行tuya的 SaaS前端框架,在执行编译命令yarn run build 时报错Delete `␍`eslint(prettier/prettier)。如图:
网上搜索了很多方案,没有解决。其中包括执行:yarn run lint --fix
及配置.prettierrc文件 "endOfLine": "auto"。最终都没有解决问题。
最好的方案是:
问题的根源:是由于windows下和linux下的文本文件的换行符不一致。是git的一个配置属性:core.autocrlf
Windows在换行的时候,同时使用了回车符CR(carriage-return character)和换行符LF(linefeed character).
而Mac和Linux系统,仅仅使用了换行符LF
老版本的Mac系统使用的是回车符CR
Windows | Linux/Mac | Old Mac(pre-OSX) |
CRLF | LF | CR |
‘\n\r’ | ‘\n’ | ‘\r’ |
因此,框架中的文件在不同系统下运行就会出现不兼容的问题。
而下载下来的SaaS前端框架,默认是Linux环境下运行的代码,文件默认是以LF结尾的。本地Windows运行就会报错。
所以当用windows系统git clone代码的时候,若本机系统autocrlf(在windows下安装git,该选项默认为true)为true,那么文件每行会被自动转成以CRLF结尾,如果对文件不做任何修改,pre-commit执行eslint的时候就会提示你删除CR。
所以如果你本地windows运行,文件编码是UTF-8且包含中文,最好在cmd下全局将autocrlf
设置为false
。
git config --global core.autocrlf false
注意:git命令全局配置后,你需要重新拉取代码。这一步很关键。
本文原创,转载必追究版权。