ESLint 是一個(gè)代碼檢查工具,同時(shí)也是 Vue 項(xiàng)目中常用的一個(gè)工具。它可以在團(tuán)隊(duì)協(xié)作的時(shí)候保障代碼風(fēng)格的一致性,也可以幫助開發(fā)者發(fā)現(xiàn)和修復(fù)代碼中的錯(cuò)誤。
ESLint 配置文件是一個(gè)包含一系列規(guī)則的 JavaScript 模塊,可以在其中指定需要的配置。對(duì)應(yīng) Vue 項(xiàng)目開發(fā)來說,Vue-CLI 內(nèi)置了 ESLint,使用 Vue-CLI 可以在創(chuàng)建項(xiàng)目的時(shí)候選擇 ESLint 的配置方式。
Vue-CLI 的 ESLint 配置,可以通過 "eslintConfig" 來找到配置文件,其默認(rèn)配置文件為 ".eslintrc.js"。
module.exports = { root: true, env: { node: true }, extends: [ 'plugin:vue/vue3-essential', '@vue/standard' ], parserOptions: { ecmaVersion: 2020 }, rules: { 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' } }
上方為 Vue-CLI 內(nèi)置的默認(rèn) ESLint 配置文件,其中 "extends" 即為擴(kuò)展規(guī)則,即規(guī)則文件。
除了默認(rèn)的配置文件,還可以通過以下方式添加自定義配置文件:
- 直接在項(xiàng)目根目錄下添加 ".eslintrc.js" 文件
- 在 package.json 中添加 "eslintConfig" 屬性
- 在 Vue 項(xiàng)目中,在 "vue.config.js" 中添加 "lintOnSave: true",開啟 Lint 檢查解決方法。
ESLint 內(nèi)置有很多規(guī)則,但是默認(rèn)情況下只啟用了部分,若要開啟其他規(guī)則,需要在配置文件中手動(dòng)進(jìn)行指定。不同的規(guī)則可以通過 "off/0"(關(guān)閉規(guī)則)、"warn/1"(規(guī)則產(chǎn)生警告)和 "error/2"(規(guī)則產(chǎn)生錯(cuò)誤)等不同級(jí)別來指定。
除了修改規(guī)則級(jí)別外,還有一些規(guī)則可以被配置成一些額外的選項(xiàng)。這些選項(xiàng)通過 Value 數(shù)組來指定。
"rules": { "my-rule": [ "error", { "options": "value" } ] }
最后需要注意,在 ESLint 中,可以使用注釋來使一個(gè)文件或特定行禁用規(guī)則,通常用來解決一些特殊問題。例如在 Vue 中使用 template 中使用的特殊語法,也可以在特定文件中使用注釋來禁用或設(shè)置規(guī)則。