vue2項目增加eslint配置代碼規(guī)范示例
正文
eslint用于代碼檢查,prettier用于代碼格式化,具體操作如下
1.安裝以下eslint插件
安裝以下eslint插件,并增加.eslintrc.js配置文件,.eslintignore配置忽略檢查的文件
(1)eslint
用于檢查和標示出ECMAScript/JavaScript代碼規(guī)范問題工具。
(2)@babel/eslint-parser
簡而言之就是一個解析器,允許您使用ESLint對所有有效的Babel代碼進行檢查。
ESLint允許使用自定義解析器,當使用此插件時,代碼會被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
當prettier與eslint有些規(guī)則沖突時,使用prettier的規(guī)則進行覆蓋
其中@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文件,如果當前工作區(qū)打開的項目不是在根目錄,則查找.eslintrc.js文件會失敗,且eslint檢查也不會生效 env: { node: true }, extends: [ 'plugin:vue/essential', 'eslint:recommended', 'plugin:prettier/recommended', // 沖突時使用prettier的規(guī)則進行覆蓋 ], 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文件進行配置代碼規(guī)范 .prettierrc.js相關(guān)配置如下
//配置參照 https://prettier.io/docs/en/options.html module.exports = { tabWidth: 2, // tab 使用兩個空格 endOfLine: "auto", // 保持現(xiàn)有的行尾 useTabs: false, // 不使用制表符縮進,使用空格縮進 semi: true, // 代碼需要分號結(jié)尾 singleQuote: true, // 單引號 bracketSpacing: true, // 對象左右兩側(cè)需要空格 jsxBracketSameLine: false, // html 關(guān)閉標簽換行 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文件的配置
{ // 用于保存時使用進行代碼格式化 "editor.codeActionsOnSave": { "source.fixAll": true, }, // 用于vscode右下角工具欄展示eslint標識 "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)文章
詳解vue中點擊空白處隱藏div的實現(xiàn)(用指令實現(xiàn))
本篇文章主要介紹了詳解vue中點擊空白處隱藏div的實現(xiàn)(用指令實現(xiàn)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04vue項目使用.env文件配置全局環(huán)境變量的方法
這篇文章主要介紹了vue項目使用.env文件配置全局環(huán)境變量的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10Nuxt.js SSR與權(quán)限驗證的實現(xiàn)
這篇文章主要介紹了Nuxt.js SSR與權(quán)限驗證的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-11-11Vue源碼之關(guān)于vm.$delete()/Vue.use()內(nèi)部原理詳解
這篇文章主要介紹了Vue源碼之關(guān)于vm.$delete()/Vue.use()內(nèi)部原理詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05