vscode eslint保存后格式不正確

這份代碼在保存時(shí),ESLint 會(huì)先從初始狀態(tài)變成正確的格式,然后 prettier 又把代碼變成了錯(cuò)誤的格式。

以前當(dāng)我發(fā)現(xiàn)這個(gè)問題時(shí),我首先想的是把 prettier 規(guī)則配置的跟 ESLint 一致,這樣就沒問題了。

然而 standard 規(guī)則要求函數(shù)名和括號(hào)之間有一個(gè)空格,這就是space-before-function-paren 規(guī)則(ESLint 本身也會(huì)默認(rèn)開啟這個(gè)規(guī)則)。 但是 prettier 完全沒有這個(gè)規(guī)則!prettier 不會(huì)處理這個(gè)空格的問題,所以根據(jù) ESLint 配置修改 prettier 規(guī)則不可行。

后來我找到的解決辦法是安裝 prettier-eslint 包。其實(shí)它一共所需的依賴如下:
npm i @vue/cli-plugin-eslint babel-eslint eslint eslint-plugin-vue prettier prettier-eslint --save-dev

如果在使用 vue-cli 創(chuàng)建項(xiàng)目時(shí)已經(jīng)選擇了 babel、eslint,那么只需要安裝缺少的包:
npm i prettier prettier-eslint --save-dev

這樣,保存文件時(shí)會(huì)得到正確的代碼格式。

那么 prettier-eslint 是怎么讓結(jié)果變得正確了呢?昨天我去它的 github 看了看,原來它是先把代碼用 prettier 格式化,然后再用 ESLint fix。

這和 vscode 保存文件時(shí)的流程是相反的。這樣等于是調(diào)轉(zhuǎn)了順序,最后我們只要 ESLint fix 的結(jié)果就行了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容