vue2項目增加eslint配置代碼規(guī)范示例
正文
eslint用于代碼檢查,prettier用于代碼格式化,具體操作如下
1.安裝以下eslint插件
安裝以下eslint插件,并增加.eslintrc.js配置文件,.eslintignore配置忽略檢查的文件
(1)eslint
用于檢查和標(biāo)示出ECMAScript/JavaScript代碼規(guī)范問題工具。
(2)@babel/eslint-parser
簡而言之就是一個解析器,允許您使用ESLint對所有有效的Babel代碼進(jìn)行檢查。
ESLint允許使用自定義解析器,當(dāng)使用此插件時,代碼會被Babel解析器解析,并且生成的AST被轉(zhuǎn)換成一個ESLint可以理解的符合ESTree的結(jié)構(gòu),所有的位置信息如行列也會保留,因此可以輕松的追蹤錯誤
(3)eslint-plugin-vue
Vue.js的官方ESLint插件,即使用eslint檢查.vue文件的template和script
(4)eslint-config-prettier或者@vue/eslint-config-prettier
當(dāng)prettier與eslint有些規(guī)則沖突時,使用prettier的規(guī)則進(jìn)行覆蓋
其中@vue/cli-plugin-eslint是特別為@vue/cli&create vue setups使用而設(shè)計的
(5)@vue/cli-plugin-eslint
vue-cli的eslint 插件,檢查和修復(fù)文件
1.1 .eslintrc.js文件配置
module.exports = {
root: true, // 在根目錄下尋找.eslintrc.js文件,如果當(dāng)前工作區(qū)打開的項目不是在根目錄,則查找.eslintrc.js文件會失敗,且eslint檢查也不會生效
env: {
node: true
},
extends: [
'plugin:vue/essential',
'eslint:recommended',
'plugin:prettier/recommended', // 沖突時使用prettier的規(guī)則進(jìn)行覆蓋
],
parserOptions: {
parser: '@babel/eslint-parser'
},
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'vue/multi-word-component-names': 'off', // 不校驗組件名
"vue/no-multiple-template-root": 0, // 不需要使用根元素包裹template的內(nèi)容
}
};
1.2 .eslintignore文件的配置
node_modules dist
2. 安裝prettier
安裝prettier,并增加.prettierrc.js文件
代碼格式化工具,通過.prettierrc.js文件進(jìn)行配置代碼規(guī)范 .prettierrc.js相關(guān)配置如下
//配置參照 https://prettier.io/docs/en/options.html
module.exports = {
tabWidth: 2, // tab 使用兩個空格
endOfLine: "auto", // 保持現(xiàn)有的行尾
useTabs: false, // 不使用制表符縮進(jìn),使用空格縮進(jìn)
semi: true, // 代碼需要分號結(jié)尾
singleQuote: true, // 單引號
bracketSpacing: true, // 對象左右兩側(cè)需要空格
jsxBracketSameLine: false, // html 關(guān)閉標(biāo)簽換行
arrowParens: 'avoid', // 單參數(shù)的箭頭函數(shù)參數(shù)不需要括號
proseWrap: 'never', // markdown文檔不換行
trailingComma: 'none' // 結(jié)尾處不加逗號
}
3. package.json相關(guān)代碼
"devDependencies": {
"@babel/eslint-parser": "^7.18.9",
"@vue/cli-plugin-eslint": "^5.0.8",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-vue": "^8.7.1",
"prettier": "^2.7.1",
}
4. vscode的配置
(1)配置eslint、prettier插件


vscode工具欄右下角兩個插件的啟用狀態(tài)

(2)setting.json文件的配置
{
// 用于保存時使用進(jìn)行代碼格式化
"editor.codeActionsOnSave": {
"source.fixAll": true,
},
// 用于vscode右下角工具欄展示eslint標(biāo)識
"eslint.alwaysShowStatus": true,
}
5. 啟動項目
由于是在老項目中增加eslint規(guī)范,所以要實現(xiàn)以下兩點
第一,其他開發(fā)伙伴可輕松使用,需參照以下步驟
(1)確保安裝eslint、prettier插件
(2)確保vscode的setting.json文件中的source.fixAll配置為true
(3)刪除本地node_modules
npm i rimraf
rimraf node_modules
(4)npm i重新安裝依賴
第二,因為舊代碼有很多代碼不規(guī)范,為了控制臺清爽,也為了提高啟動速度,需要將vue.config.js中的lintOnSave設(shè)置為false,即運行時不啟用lint

以上就是代碼規(guī)范配置的全部內(nèi)容了,更多關(guān)于vue2代碼規(guī)范eslint配置的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
關(guān)于vue-cli 3配置打包優(yōu)化要點(推薦)
這篇文章主要介紹了vue-cli 3配置打包優(yōu)化要點,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
element-ui中table組件的toggleRowSelection()方法使用
這篇文章主要介紹了element-ui中table組件的toggleRowSelection()方法使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
Vue+Echarts實現(xiàn)繪制動態(tài)折線圖
這篇文章主要為大家詳細(xì)介紹了如何利用Vue和Echarts實現(xiàn)繪制動態(tài)折線圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03
記一次Vue.js混入mixin的使用(分權(quán)限管理頁面)
這篇文章主要介紹了記一次Vue.js混入mixin的使用(分權(quán)限管理頁面),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04

