vite+vue3代碼風(fēng)格校驗及格式化方式
團(tuán)隊代碼風(fēng)格統(tǒng)一一直是博主想干又沒有時間去干的事情,剛好借著新項目搭建,嘗試一下使用Eslint及Prettier工具提升一下項目代碼的整體質(zhì)量。
本文在配置方面僅做簡單的配置,流程熟悉可以參考Eslint及Prettier官方文檔定制自己喜歡的標(biāo)準(zhǔn)。
安裝Eslint包
npm install eslint -D
初始化Eslint
npm init @eslint/config
執(zhí)行命令后會出現(xiàn)以下選項:
(可以按照圖片配置,也可以后面直接更改.eslintrc.cjs文件)

具體配置可以以自己項目為準(zhǔn),博主這里使用的是vite+vue3+js
安裝完成之后項目的根目錄會出現(xiàn).eslintrc.cjs文件
module.exports = {
"env": {
"browser": true,
"es2021": true,
"node": true
},
"extends": [
"eslint:recommended",
"plugin:vue/vue3-essential"
],
"overrides": [
],
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"vue"
],
"rules": {
}
}
安裝vite-plugin-eslint包
// 該包的作用是在vite運行時自動檢測eslint規(guī)范,根據(jù)配置在終端顯示未通過的校驗代碼 npm install vite-plugin-eslint -D
安裝eslint-parser 及 @babel/core 包
// 該包的作用是允許eslint在babel轉(zhuǎn)換的源代碼上運行 npm install @babel/eslint-parser -D npm install @babel/core -D
安裝prettier相關(guān)包
npm install prettier -D npm install eslint-config-prettier -D // eslint兼容的插件,將關(guān)閉eslint所有不必要或可能與Prettier沖突的規(guī)則 npm install eslint-plugin-prettier -D // eslint的prettier,將Prettier作為ESLint規(guī)則運行,并將差異作為單個ESLint問題報告。
安裝vue-eslint-parser包
// 用于`.vue`文件的ESLint自定義解析器。 npm install vue-eslint-parser -D
配置.prettierrc
// .prettierrc, 配置不做過多說明,具體可查閱相關(guān)文檔
{
"printWidth": 120,
"tabWidth": 2,
"useTabs": false,
"semi": false,
"trailingComma": "none",
"singleQuote": true,
"bracketSpacing": true,
"jsxBracketSameLine": false,
"endOfLine": "auto",
"arrowParens": "avoid"
}
配置.eslintrc.cjs
module.exports = {
env: {
browser: true,
es2021: true,
node: true
},
extends: [
'eslint:recommended', // eslint核心規(guī)則
'plugin:vue/vue3-essential', // 繼承eslint-plugin-vue組件中的基礎(chǔ)配置
'plugin:prettier/recommended', // 繼承eslint-plugin-prettier組件中的基礎(chǔ)配置
'eslint-config-prettier' // 處理配置兼容問題
],
parser: 'vue-eslint-parser', // 使用vue解析器
parserOptions: { // 設(shè)置支持的JavaScript語言選項
ecmaVersion: 'latest', // 指定EcmaScript的版本
sourceType: 'module', // script/module
ecmaFeatures: {
jsx: true
}
},
plugins:{
'vue', // eslint-plugin-vue縮寫
'prettier' // eslint-plugin-prettier縮寫
},
globals: {
// 添加全局變量,防止no-undef 規(guī)則發(fā)出警告
defineProps: 'readonly',
defineEmits: 'readonly',
defineExpose: 'readonly',
withDefaults: 'readonly'
},
rules: {
'no-console': 'warn',
'vue/multi-word-component-names': 'off' // extends中繼承過來的屬性,可以重新修改
...
}
}
VSCode配置
安裝ESLint及Prettier插件


1.打開VSCode設(shè)置>用戶>文本編輯器>格式化>勾選Format On Save

2. 搜索Prettier>勾選Require Config

3.打開VSCode設(shè)置>用戶>文本編輯器>Default Formatter>選擇Prettier - Code formatter

4.ctr+shift+p打開首選項配置settings.json>添加eslint vue支持
... "eslint.validate": [ "javascript", "javascriptreact", "vue" ], ...
特別提醒:
每次修改完Eslint及Prettier配置最好重新啟動VSCode,防止出現(xiàn)配置不生效的情況
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue3使用Element-plus的el-pagination分頁組件時無法顯示中文
本文主要介紹了vue3使用Element-plus的el-pagination分頁組件時無法顯示中文,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12
解決elementui上傳組件el-upload無法第二次上傳問題
這篇文章主要介紹了解決elementui上傳組件el-upload無法第二次上傳問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
利用Vue-draggable組件實現(xiàn)Vue項目中表格內(nèi)容的拖拽排序
這篇文章主要介紹了利用Vue-draggable組件實現(xiàn)Vue項目中表格內(nèi)容的拖拽排序,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06

