關(guān)于.prettierrc代碼格式化配置方式
代碼的規(guī)范規(guī)則很多很繁瑣,不可能每個(gè)都去手動(dòng)修改,有時(shí)候一個(gè)頁面能有上百個(gè)規(guī)范問題,那么這時(shí)候代碼自動(dòng)格式化就很有用了,最有名的就是prettierrc了。
當(dāng)然還有其他的比如vue用的vetur、beautify格式化插件等。
格式化插件再配合eslint規(guī)范這樣寫出來的代碼又好看效率又高,至于eslintrc的介紹可以點(diǎn)擊=》eslintrc介紹及使用學(xué)習(xí)下,這樣一個(gè)負(fù)責(zé)檢查,一個(gè)負(fù)責(zé)改,完美!
prettierrc的使用
首先要做的就是在vscode安裝prettierrc-代碼格式化插件
然后要代碼保存并格式化就需要在vscode的setting.json里加上下面這句話,這樣每按下ctrl+S是代碼會根據(jù)你配置的prettierrc規(guī)則進(jìn)行格式化
規(guī)則遵循優(yōu)先級關(guān)系:
項(xiàng)目根目錄下的.prettierrc > setting.json里設(shè)置的 prettier規(guī)則
// #值設(shè)置為true時(shí),每次保存的時(shí)候自動(dòng)格式化;值設(shè)置為false時(shí),代碼格式化請按shift+alt+F ? "editor.formatOnSave": true,
prettierrc規(guī)則配置
規(guī)則的配置可以寫在setting.json里,也可以在項(xiàng)目的根目錄下創(chuàng)建 .prettierrc文件定制項(xiàng)目專屬的規(guī)則。
HTML/CSS/JS/LESS 文件的 prettier 格式化規(guī)則
{ // 使能每一種語言默認(rèn)格式化規(guī)則 "[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[less]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, /* prettier的配置 */ "prettier.printWidth": 120, // 超過最大值換行 "prettier.tabWidth": 2, // 縮進(jìn)字節(jié)數(shù) "prettier.useTabs": false, // 縮進(jìn)不使用tab,使用空格 "prettier.semi": true, // 句尾添加分號 "prettier.singleQuote": true, // 使用單引號代替雙引號 "prettier.proseWrap": "preserve", // 默認(rèn)值。因?yàn)槭褂昧艘恍┱坌忻舾行偷匿秩酒鳎ㄈ鏕itHub comment)而按照markdown文本樣式進(jìn)行折行 "prettier.arrowParens": "avoid", // (x) => {} 箭頭函數(shù)參數(shù)只有一個(gè)時(shí)是否要有小括號。avoid:省略括號 "prettier.bracketSpacing": true, // 在對象,數(shù)組括號與文字之間加空格 "{ foo: bar }" "prettier.disableLanguages": ["vue"], // 不格式化vue文件,vue文件的格式化單獨(dú)設(shè)置 "prettier.endOfLine": "auto", // 結(jié)尾是 \n \r \n\r auto "prettier.eslintIntegration": false, //不讓prettier使用eslint的代碼格式進(jìn)行校驗(yàn) "prettier.htmlWhitespaceSensitivity": "ignore", "prettier.ignorePath": ".prettierignore", // 不使用prettier格式化的文件填寫在項(xiàng)目的.prettierignore文件中 "prettier.jsxBracketSameLine": false, // 在jsx中把'>' 是否單獨(dú)放一行 "prettier.jsxSingleQuote": false, // 在jsx中使用單引號代替雙引號 "prettier.parser": "babylon", // 格式化的解析器,默認(rèn)是babylon "prettier.requireConfig": false, // Require a 'prettierconfig' to format prettier "prettier.stylelintIntegration": false, //不讓prettier使用stylelint的代碼格式進(jìn)行校驗(yàn) "prettier.trailingComma": "es5", // 在對象或數(shù)組最后一個(gè)元素后面是否加逗號(在ES5中加尾逗號) "prettier.tslintIntegration": false // 不讓prettier使用tslint的代碼格式進(jìn)行校驗(yàn) }
一些問題
有時(shí)候你會發(fā)現(xiàn)你創(chuàng)建的項(xiàng)目并不會主動(dòng)的去進(jìn)行規(guī)范檢查,就像我創(chuàng)建koa2的項(xiàng)目的時(shí)候配置了prettier也不會有檢查,這就需要在項(xiàng)目里安裝一些依賴了。
以我koa2項(xiàng)目為例,我是去git上看了大神的案例項(xiàng)目后,在他們項(xiàng)目的package.json里看到的那些依賴項(xiàng),有以下7個(gè):
"eslint": "^7.2.0", "eslint-config-koa": "^2.0.2", "eslint-config-standard": "^14.1.1", "eslint-plugin-import": "^2.21.2", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", "eslint-plugin-standard": "^4.0.1",
這個(gè)eslint的版本有點(diǎn)高,有時(shí)候會因?yàn)閑slint版本太高項(xiàng)目報(bào)錯(cuò),具體什么錯(cuò)我忘了,我一般使用的是5.8.0版本。
vue項(xiàng)目用的應(yīng)該是eslint-config-vue;react項(xiàng)目用的應(yīng)該是eslint-config-react。
這樣項(xiàng)目的規(guī)范問題應(yīng)該就解決。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue2.0中vue-cli實(shí)現(xiàn)全選、單選計(jì)算總價(jià)格的實(shí)例代碼
本篇文章主要介紹了vue2.0中vue-cli實(shí)現(xiàn)全選、單選計(jì)算總價(jià)格的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07vuex獲取state對象中值的所有方法小結(jié)(module中的state)
這篇文章主要介紹了vuex獲取state對象中值的所有方法小結(jié)(module中的state),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04Vue實(shí)現(xiàn)生成本地Json文件功能方式
這篇文章主要介紹了Vue實(shí)現(xiàn)生成本地Json文件功能方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07Vue-router 中hash模式和history模式的區(qū)別
這篇文章主要介紹了Vue-router 中hash模式和history模式的區(qū)別,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07關(guān)于Vite項(xiàng)目打包后瀏覽器兼容性問題的解決方案
本文主要介紹了關(guān)于Vite項(xiàng)目打包后瀏覽器兼容性問題的解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08Vue CLI 3.x 自動(dòng)部署項(xiàng)目至服務(wù)器的方法
本教程講解的是 Vue-CLI 3.x 腳手架搭建的vue項(xiàng)目, 利用scp2自動(dòng)化部署到靜態(tài)文件服務(wù)器 Nginx。非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-04-04vue中使用cookies和crypto-js實(shí)現(xiàn)記住密碼和加密的方法
這篇文章給大家介紹一下關(guān)于vue中使用cookies和crypto-js如何實(shí)現(xiàn)密碼的加密與記住密碼,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對你們有所幫助。2018-10-10