一、問題:
今天下午配置eslint和prettier 時(shí),頻頻報(bào)錯(cuò):Delete `?`eslint(prettier/prettier),vscode全頁面爆紅。
經(jīng)過多次嘗試與試驗(yàn)后,最終多種方式結(jié)合解決了這個(gè)問題。
二、報(bào)錯(cuò)原因是:
安裝了prettier 插件指定了文件結(jié)尾的換行符與系統(tǒng)的不一樣所導(dǎo)致的。
Windows在換行的時(shí)候,同時(shí)使用了回車符CR和換行符LF,即CRLF; 而項(xiàng)目倉(cāng)庫中默認(rèn)是Linux環(huán)境下提交的代碼,文件默認(rèn)是以LF結(jié)尾的,這也是工程化的需要。
我們的 Prettier 插件默認(rèn) LF,所以從倉(cāng)庫中拉取下來的代碼會(huì)因?yàn)閾Q行符的不同導(dǎo)致全屏爆紅。
三、解決辦法
1、通過IDE一鍵切換
在vscode文件的底部配置,將LF直接改為CRLF,但是這個(gè)方法只針對(duì)單個(gè)文件,所有文件都需要一個(gè)一個(gè)手動(dòng)修改,比較麻煩。
2、在vscode設(shè)置中,在搜索欄中搜索prettier,找到End Of Line 這個(gè)選項(xiàng)設(shè)置為?auto
3、配置.prettierrc文件,
在文件對(duì)象中添加下面的配置即可,然后重啟vscode
"endOfLine": "auto"
4、Crtl+S保存文件
按Crtl+S
保存當(dāng)前報(bào)錯(cuò)文件,eslint
錯(cuò)誤消失,不知道是什么原理,可以試試
?
5、修改git全局配置(最佳方案)
這個(gè)問題是因?yàn)閃indows在換行的時(shí)候,同時(shí)使用了回車符CR和換行符LF,即CRLF; 而項(xiàng)目倉(cāng)庫中默認(rèn)是Linux環(huán)境下提交的代碼,文件默認(rèn)是以LF結(jié)尾的,因此,文本文件在不同系統(tǒng)下創(chuàng)建和使用時(shí)就會(huì)出現(xiàn)不兼容的問題,當(dāng)我用
windows
電腦git clone
代碼的時(shí)候,若我的autocrlf
(在windows
下安裝git
,該選項(xiàng)默認(rèn)為true
)為true
,那么文件每行會(huì)被自動(dòng)轉(zhuǎn)成以CRLF
結(jié)尾,若對(duì)文件不做任何修改,pre-commit
執(zhí)行eslint
的時(shí)候就會(huì)提示你刪除CR
。
針對(duì)這個(gè)問題,可以對(duì)git全局配置做處理,使用下面這個(gè)命令,之后的倉(cāng)庫拉取就不會(huì)出現(xiàn)類似問題,執(zhí)行g(shù)it命令:文章來源:http://www.zghlxwxcb.cn/news/detail-791755.html
git config --global core.autocrlf false
這個(gè)方法主要是針對(duì)git的配置,如果想要當(dāng)前項(xiàng)目不爆紅,重新拉取一次倉(cāng)庫代碼即可,git
全局配置之后,你需要重新拉取代碼。文章來源地址http://www.zghlxwxcb.cn/news/detail-791755.html
到了這里,關(guān)于Delete `?`eslint(prettier/prettier)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!