ESLint初體驗(yàn)

介紹

ESLint 是一個(gè)開源的 JavaScript 代碼檢查工具,由 Nicholas C. Zakas 于2013年6月創(chuàng)建。
JavaScript 是一個(gè)動(dòng)態(tài)的弱類型語(yǔ)言,在開發(fā)中比較容易出錯(cuò)。因?yàn)闆]有編譯程序,為了尋找 JavaScript 代碼錯(cuò)誤通常需要在執(zhí)行過程中不斷調(diào)試。而ESLint 可以讓程序員在編碼的過程中發(fā)現(xiàn)問題而不是在執(zhí)行的過程中。

安裝

非常簡(jiǎn)單,使用npm全局安裝eslint的命令行工具:
npm i -g eslint

使用

我創(chuàng)建了一個(gè)簡(jiǎn)單的test.js文件

var  a=1;
var  b=2; 
var  c=a+b;
console.log(c);

然后使用命令eslint test.js,結(jié)果提示缺少eslint的配置文件:

image.png

所以,使用eslint --init來(lái)生成配置文件。生成的過程中,它會(huì)讓你選擇一些規(guī)則,如是否使用JSX?是否使用ES6?等等。然后會(huì)生成一個(gè)配置文件.eslintrc.js:

module.exports = {
    "env": {
        "browser": true,
        "es6": true
    },
    "extends": "eslint:recommended",
    "parserOptions": {
        "ecmaFeatures": {
            "experimentalObjectRestSpread": true,
            "jsx": true
        },
        "sourceType": "module"
    },
    "plugins": [
        "react"
    ],
    "rules": {
        "indent": [
            "error",
            "tab"
        ],
        "quotes": [
            "error",
            "double"
        ],
        "semi": [
            "error",
            "always"
        ],
        "linebreak-style":[
            "error",
            "windows"
        ],
        "no-console":"off"
    }
};

迫不及待重新執(zhí)行eslint test.js,提示缺少組件eslint-plugin-react

image.png

原來(lái)是生成配置文件的過程中,我選擇了使用react。好吧,那就npm i -g eslint-plugin-react一把就好了。

終于可以正常跑命令eslint test.js了。寥寥4行代碼,檢測(cè)結(jié)果是這樣的:

image.png

默認(rèn)的eslint規(guī)則禁用了console。開發(fā)過程中,我經(jīng)常會(huì)用到console來(lái)調(diào)試代碼,這個(gè)規(guī)則對(duì)我來(lái)說蠻逆天的。能不能不禁用console?當(dāng)然可以,Eslint有著靈活配置規(guī)則的優(yōu)點(diǎn)!

ESlint 被設(shè)計(jì)為是完全可配置的,這意味著你可以關(guān)閉每一個(gè)規(guī)則,只運(yùn)行基本語(yǔ)法驗(yàn)證,或混合和匹配綁定的規(guī)則和自定義規(guī)則,以讓 ESLint 更適合于你的項(xiàng)目。

所以,修改一下配置文件.eslintrc.js,把no-console這個(gè)規(guī)則關(guān)閉就行了:

"rules": {
        "indent": [
            "error",
            "tab"
        ],
        "quotes": [
            "error",
            "double"
        ],
        "semi": [
            "error",
            "always"
        ],
        "linebreak-style":[
            "error",
            "windows"
        ],
        "no-console":"off"
    }

總結(jié)

ESLint最大的價(jià)值體現(xiàn)在:

  1. 幫助前端開發(fā)團(tuán)隊(duì)保持良好的js代碼規(guī)范,提升代碼可讀性,方便團(tuán)隊(duì)協(xié)作。
  2. 在編碼的過程中發(fā)現(xiàn)問題,提升代碼質(zhì)量。

代碼規(guī)則沒有絕對(duì)的標(biāo)準(zhǔn),團(tuán)隊(duì)成員一起討論通過,在實(shí)踐中不斷調(diào)整沉淀下來(lái)的規(guī)則就是好規(guī)則。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ESLint 配置 ESlint 被設(shè)計(jì)為完全可配置的,這意味著你可以關(guān)閉每一個(gè)規(guī)則而只運(yùn)行基本語(yǔ)法驗(yàn)證,或混合和...
    靜默虛空閱讀 41,834評(píng)論 3 14
  • EsLint入門學(xué)習(xí)整理 這兩天因?yàn)楣疽?,就?duì)ESLint進(jìn)行了初步的了解,網(wǎng)上的內(nèi)容基本上都差不多,但是內(nèi)容...
    點(diǎn)柈閱讀 26,217評(píng)論 3 42
  • ESLint 是一個(gè)插件化的 javascript 代碼檢測(cè)工具,它可以用于檢查常見的 JavaScript 代碼...
    lion1ou閱讀 10,898評(píng)論 0 7
  • 原文鏈接:http://www.itdecent.cn/p/6b816c609669 前傳 出于興趣最近開始研究k...
    懸筆e絕閱讀 7,350評(píng)論 1 11
  • 今天的聊天很復(fù)雜,我?guī)е榫w和你聊天,是我不好,可是你知道我是為什么會(huì)這樣嗎? 我已經(jīng)習(xí)慣每天中午都和你享受一段屬...
    MarkLion閱讀 818評(píng)論 0 0

友情鏈接更多精彩內(nèi)容