一步步詳細(xì)講解vue3配置ESLint
前言
對于前端項(xiàng)目而言,ESLint 可以檢查代碼,統(tǒng)一代碼風(fēng)格,避免不必要的錯(cuò)誤。在 vue3 中配置 ESLint
,如下所示。
環(huán)境
vite 2.3.3
vue 3.0.5
說明
由于在 ESLint優(yōu)先級 中 .eslintrc.js
的優(yōu)先級最高,故使用 .eslintrc.js
。
準(zhǔn)備一個(gè) vue3
項(xiàng)目,請移步 vite構(gòu)建vue3項(xiàng)目
安裝
目前有 2 種主流配置 ESLint
的方式,都需要 eslint
庫的支持,故都需安裝 eslint。
standard規(guī)范
standard
有一個(gè)專門配合 ESLint
提供配置項(xiàng)的庫,eslint-config-standard。要想使用 standard
規(guī)范,必須安裝相關(guān)依賴。
yarn add eslint-config-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node -D # OR npm install --save-dev eslint-config-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node
可以看出,這里沒有針對 vue
文件的檢查規(guī)范的庫,vue
生態(tài)鏈中提供了eslint-plugin-vue庫。eslint-plugin-vue
的官網(wǎng)更加詳細(xì)的介紹了如何配置 .eslintrc.js
安裝 eslint-plugin-vue
yarn add eslint eslint-plugin-vue -D #OR npm install --save-dev eslint eslint-plugin-vue
官方配置如下
由于,eslint-plugin-vue
配置規(guī)則的強(qiáng)度逐步遞增,此處只使用最基本的配置 plugin:vue/vue3-essential
。
再將 standard
添加上,此時(shí) .eslintrc.js
配置如下
// .eslintrc.js module.exports = { root: true, env: { node: true, }, extends: [ // https://github.com/vuejs/eslint-plugin-vue 'plugin:vue/vue3-essential', 'standard' ], };
eslint
已經(jīng)生效,如下所示:
vue
生態(tài)鏈已經(jīng)包裝好 eslint-config-standard
,即 vuejs/eslint-config-standard
故,可以直接安裝并使用
yarn add @vue/eslint-config-standard -D #OR npm install @vue/eslint-config-standard --save-dev
初步總結(jié)
- 安裝
standard規(guī)范
- 安裝
eslint
和eslint-plugin-vue
- 替換
eslint-config-standard
為@vue/eslint-config-standard
所有的安裝如下所示
yarn add eslint-plugin-promise eslint-plugin-import eslint-plugin-node eslint eslint-plugin-vue @vue/eslint-config-standard -D # OR npm install --save-dev eslint-plugin-promise eslint-plugin-import eslint-plugin-node eslint eslint-plugin-vue @vue/eslint-config-standard
.eslintrc.js
配置如下
// .eslintrc.js module.exports = { root: true, env: { node: true, }, extends: [ // https://github.com/vuejs/eslint-plugin-vue 'plugin:vue/vue3-essential', // https://github.com/vuejs/eslint-config-standard '@vue/standard' ], };
其實(shí),@vue/eslint-config-standard
是 eslint-config-standard
的集成,故無需安裝 eslint-config-standard
。
package.json
{ "name": "vue3-vite", "version": "0.0.0", "scripts": { "serve": "vite preview", "build": "vite build", "lint": "vue-cli-service lint", "dev": "vite" }, "dependencies": { "vue": "^3.0.5" }, "devDependencies": { "@vitejs/plugin-vue": "^1.2.2", "@vue/compiler-sfc": "^3.0.5", "@vue/eslint-config-standard": "^6.0.0", "eslint": "^7.27.0", "eslint-plugin-import": "^2.23.4", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^5.1.0", "eslint-plugin-vue": "^7.10.0", "vite": "^2.3.3" } }
vue 官方推薦安裝 ESLint
上文已經(jīng)驗(yàn)證了使用 yarn
的方式安裝 eslint-plugin-vue
,現(xiàn)在我們使用官方推薦的方式。
先卸載所有已安裝的包
yarn remove eslint-plugin-promise eslint-plugin-import eslint-plugin-node eslint eslint-plugin-vue @vue/eslint-config-standard # OR npm uninstall eslint-plugin-promise eslint-plugin-import eslint-plugin-node eslint eslint-plugin-vue @vue/eslint-config-standard
刪除 .eslintrc.js
文件
vue add @vue/cli-plugin-eslint
此處一定要安裝了 @vuejs/app
才能在命令行中使用 vue
命令,可參考 vite構(gòu)建vue3項(xiàng)目
執(zhí)行后,選擇一種自己喜歡的規(guī)范
默認(rèn)保存即檢查代碼
見證奇跡的時(shí)刻到了,vue
自動安裝了必備的包并添加了配置文件。
package.json
{ "name": "vue3-vite", "version": "0.0.0", "scripts": { "serve": "vite preview", "build": "vite build", "lint": "vue-cli-service lint", "dev": "vite" }, "dependencies": { "vue": "^3.0.5" }, "devDependencies": { "@vitejs/plugin-vue": "^1.2.2", "@vue/cli-plugin-eslint": "~4.5.0", "@vue/compiler-sfc": "^3.0.5", "@vue/eslint-config-standard": "^5.1.2", "eslint": "^6.7.2", "eslint-plugin-import": "^2.20.2", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", "eslint-plugin-standard": "^4.0.0", "eslint-plugin-vue": "^7.0.0", "vite": "^2.3.3" } }
對比2個(gè)package.json
經(jīng)過對比可得知,vue
官方的安裝 ESLint
的方式多了2個(gè)包,且版本較低。
查看 eslint-config-standard 可知,eslint-plugin-standard
在新版 eslint-config-standard
中已經(jīng)刪除了。
再次總結(jié)
使用 vue
官方提供的命令更方便配置 ESLint
。自己配置 ESLint
能夠透徹的了解需要哪些包。
airbnb規(guī)范
對于 airbnb
規(guī)范,我不習(xí)慣使用,故未了解相關(guān)資料,可使用 vue
官方命令一鍵生成。
總結(jié)
到此這篇關(guān)于vue3配置ESLint的文章就介紹到這了,更多相關(guān)vue3配置ESLint內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在使用vuex的時(shí)候出現(xiàn)commit未定義錯(cuò)誤的解決
這篇文章主要介紹了在使用vuex的時(shí)候出現(xiàn)commit未定義錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01Vue組件通信中非父子組件傳值知識點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是關(guān)于Vue組件通信中非父子組件傳值知識點(diǎn)總結(jié),有興趣的朋友們學(xué)習(xí)下。2019-12-12vue.js的狀態(tài)管理vuex中store的使用詳解
今天小編就為大家分享一篇vue.js的狀態(tài)管理vuex中store的使用詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11vue3.0?router路由跳轉(zhuǎn)傳參問題(router.push)
這篇文章主要介紹了vue3.0?router路由跳轉(zhuǎn)傳參問題(router.push),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02vue如何實(shí)現(xiàn)列表自動滾動、向上滾動的效果(vue-seamless-scroll)
這篇文章主要介紹了vue如何實(shí)現(xiàn)列表自動滾動、向上滾動的效果(vue-seamless-scroll),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05Vue+ElementUI項(xiàng)目使用webpack輸出MPA的方法
這篇文章主要介紹了Vue+ElementUI項(xiàng)目使用webpack輸出MPA的方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08