优雅解决:(linebreak-style) Expected linebreaks to be ‘LF‘ but found ‘CRLF‘. (eslint)
有時候使用腳手架創(chuàng)建的項目,比如vue-cli,會默認使用eslint的一些規(guī)則,比如airbnb。其中基本會包含這樣一條規(guī)則:
"linebreak-style": ["error", "unix"],這個規(guī)則的意思是回車換行符使用unix風格的,也就是LF。unix其實主要就是指mac,或者ubuntu這類的。本來團隊都用Mac就沒啥問題。但如果你用的是windows。就會有標題中的錯誤:
(linebreak-style) Expected linebreaks to be 'LF' but found 'CRLF'. (eslint)但堂堂vue-cli初始化的項目會沒考慮到這個問題?當然不會,其實項目中應該還有一個.editorconfig文件,如果沒有,你就自己添加一個,并輸入如下:
[*.{js,jsx,ts,tsx,vue}] indent_style = space indent_size = 2 end_of_line = lf trim_trailing_whitespace = true insert_final_newline = true max_line_length = 100以上是vue-cli初始化的默認值。詳細看下邊的注釋:
# 縮進使用空格 indent_style = space # 縮進2個字符 indent_size = 2 # 行結尾使用 lf !!!! end_of_line = lf # 刪除行尾空格 trim_trailing_whitespace = true # 文件結尾添加一個空行 insert_final_newline = true # 行最大長度 max_line_length = 100正常情況下,這個文件會約束當前的項目的書寫規(guī)范。但為什么了windows下沒生效呢?因為這個文件需要你的編輯器支持。換言之你需要安裝插件!
在vscode中,可以直接搜索editorconfig。安裝后重啟即可。
值得注意的是,你可能發(fā)現(xiàn)仍舊沒有生效。因為你還需要保存下報錯的文件。
帶著on save 的選項都是在保存后生效。
最后,還有一種解決方法,比如添加規(guī)則如下
'linebreak-style':[0,'error','window'],其實這是相當于windows下關閉了換行的規(guī)則。這是很不優(yōu)雅的。
當然其實關閉也是可以的,因為git會在你提交的時候幫你把CRLF轉成LF。我這里親測本地上傳時候是CRLF,再從gitlab上直接下載下來(不是克隆下來,也就是不走git),打開查看就是LF。想想也是,如果你上傳的和別人的不一致,那豈不各種沖突。
最后的最后…有些時候直接選擇關閉是很無奈的,比如你的項目下clone的時候git已經(jīng)把lf轉換為了crlf,那么當你再看開啟editorconfig的配置之后,就會在修改并保存文件的時候修改換行符,也就是導致文件都被修改。所以如果想優(yōu)雅的解決這個問題。還需要先配置git不自動轉換crlf。
總結
以上是生活随笔為你收集整理的优雅解决:(linebreak-style) Expected linebreaks to be ‘LF‘ but found ‘CRLF‘. (eslint)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3D打印机!!!
- 下一篇: HyperMesh 使用指南