tuya SaaS前端框架本地运行时候报错Delete `␍`eslint(prettier/prettier)

1544年前 (2021-09-23)tuya saas框架2533

 根据官方文档的步骤,本地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

WindowsLinux/MacOld Mac(pre-OSX)
CRLFLFCR
‘\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命令全局配置后,你需要重新拉取代码。这一步很关键。


本文原创,转载必追究版权。

分享给朋友:

相关文章

竟然可以这样打扮!女人呆了!男人痴了!

来个轻松点的哇,惊呆了,肯定贵不了,立刻去瞅瞅...

jquery 获取焦点

当文本框或下拉等必填时,如果没有输入就给予提示并使该文本框获得焦点!如果是js,对象.focus()即可。可是如果是jQuery, 这样$("#aa") 返回的就不是DOM对象而是...

ajax提交表单、ajax实现文件上传(multipart/form-data)

方式一:利用from表单的targer属性 + 隐藏的iframe 达到类似效果, 支持提交含有文件和普通数据的复杂表单方式二:使用jquery的$.ajax({..}), 支持提交普通表单,但不支持...

java 实现自增编号+Oracle序列

原理:a,a++,fillStr(a, 9, false, "0");新建序列:create sequence seq_lineminvalue 1maxvalue 9999999...

jfinal 定时任务

1、去quartz官网下载 定时任务jar包(http://www.quartz-scheduler.org/)quartz-*.*.*.jar2、创建定时任务:public class SetAre...

如何查询端口占用情况 并禁止占用

如何查询端口占用情况 并禁止占用

开始---->运行---->cmd,或者是window+R组合键,调出命令窗口输入命令:netstat -ano可看到是:pid为 2160 的程序占用了80端口;启动任务管理器:ctrl...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。