關于.prettierrc代碼格式化配置方式
代碼的規(guī)范規(guī)則很多很繁瑣,不可能每個都去手動修改,有時候一個頁面能有上百個規(guī)范問題,那么這時候代碼自動格式化就很有用了,最有名的就是prettierrc了。
當然還有其他的比如vue用的vetur、beautify格式化插件等。
格式化插件再配合eslint規(guī)范這樣寫出來的代碼又好看效率又高,至于eslintrc的介紹可以點擊=》eslintrc介紹及使用學習下,這樣一個負責檢查,一個負責改,完美!
prettierrc的使用
首先要做的就是在vscode安裝prettierrc-代碼格式化插件
然后要代碼保存并格式化就需要在vscode的setting.json里加上下面這句話,這樣每按下ctrl+S是代碼會根據你配置的prettierrc規(guī)則進行格式化
規(guī)則遵循優(yōu)先級關系:
項目根目錄下的.prettierrc > setting.json里設置的 prettier規(guī)則
// #值設置為true時,每次保存的時候自動格式化;值設置為false時,代碼格式化請按shift+alt+F ? "editor.formatOnSave": true,
prettierrc規(guī)則配置
規(guī)則的配置可以寫在setting.json里,也可以在項目的根目錄下創(chuàng)建 .prettierrc文件定制項目專屬的規(guī)則。
HTML/CSS/JS/LESS 文件的 prettier 格式化規(guī)則
{ // 使能每一種語言默認格式化規(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, // 縮進字節(jié)數 "prettier.useTabs": false, // 縮進不使用tab,使用空格 "prettier.semi": true, // 句尾添加分號 "prettier.singleQuote": true, // 使用單引號代替雙引號 "prettier.proseWrap": "preserve", // 默認值。因為使用了一些折行敏感型的渲染器(如GitHub comment)而按照markdown文本樣式進行折行 "prettier.arrowParens": "avoid", // (x) => {} 箭頭函數參數只有一個時是否要有小括號。avoid:省略括號 "prettier.bracketSpacing": true, // 在對象,數組括號與文字之間加空格 "{ foo: bar }" "prettier.disableLanguages": ["vue"], // 不格式化vue文件,vue文件的格式化單獨設置 "prettier.endOfLine": "auto", // 結尾是 \n \r \n\r auto "prettier.eslintIntegration": false, //不讓prettier使用eslint的代碼格式進行校驗 "prettier.htmlWhitespaceSensitivity": "ignore", "prettier.ignorePath": ".prettierignore", // 不使用prettier格式化的文件填寫在項目的.prettierignore文件中 "prettier.jsxBracketSameLine": false, // 在jsx中把'>' 是否單獨放一行 "prettier.jsxSingleQuote": false, // 在jsx中使用單引號代替雙引號 "prettier.parser": "babylon", // 格式化的解析器,默認是babylon "prettier.requireConfig": false, // Require a 'prettierconfig' to format prettier "prettier.stylelintIntegration": false, //不讓prettier使用stylelint的代碼格式進行校驗 "prettier.trailingComma": "es5", // 在對象或數組最后一個元素后面是否加逗號(在ES5中加尾逗號) "prettier.tslintIntegration": false // 不讓prettier使用tslint的代碼格式進行校驗 }
一些問題
有時候你會發(fā)現你創(chuàng)建的項目并不會主動的去進行規(guī)范檢查,就像我創(chuàng)建koa2的項目的時候配置了prettier也不會有檢查,這就需要在項目里安裝一些依賴了。
以我koa2項目為例,我是去git上看了大神的案例項目后,在他們項目的package.json里看到的那些依賴項,有以下7個:
"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",
這個eslint的版本有點高,有時候會因為eslint版本太高項目報錯,具體什么錯我忘了,我一般使用的是5.8.0版本。
vue項目用的應該是eslint-config-vue;react項目用的應該是eslint-config-react。
這樣項目的規(guī)范問題應該就解決。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue2.0中vue-cli實現全選、單選計算總價格的實例代碼
本篇文章主要介紹了vue2.0中vue-cli實現全選、單選計算總價格的實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07vuex獲取state對象中值的所有方法小結(module中的state)
這篇文章主要介紹了vuex獲取state對象中值的所有方法小結(module中的state),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04Vue-router 中hash模式和history模式的區(qū)別
這篇文章主要介紹了Vue-router 中hash模式和history模式的區(qū)別,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07vue中使用cookies和crypto-js實現記住密碼和加密的方法
這篇文章給大家介紹一下關于vue中使用cookies和crypto-js如何實現密碼的加密與記住密碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你們有所幫助。2018-10-10