成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

ESLint 工作原理探討

wuyangchun / 3701人閱讀

摘要: 徹底理解ESLint。

原文:ESLint 工作原理探討

作者:zhangwang

Fundebug經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有。

ESLint 可謂是現(xiàn)代前端開(kāi)發(fā)過(guò)程中必備的工具了。其用法簡(jiǎn)單,作用卻很大,使用過(guò)程中不知曾幫我減少過(guò)多少次可能的 bug。其實(shí)仔細(xì)想想前端開(kāi)發(fā)過(guò)程中的必備工具似乎也沒(méi)有那么多,ESLint 做為必備之一,值得深挖,理解其工作原理。

在正式討論原理之前,我們還是先來(lái)聊聊為什么要使用 ESLint。

為什么要使用 ESLint

ESLint 其實(shí)早在 2013年 7月就發(fā)布了,不過(guò)我首次使用,是不到三年前的一個(gè)下午(清楚的記得那時(shí)候使用的編輯器主要還是 sublime text3 )。我在一個(gè)項(xiàng)目中嘗試了 ESLint ,輸入 eslint init 后按照提示最終選擇了非常出名的 airbnb 的代碼風(fēng)格,結(jié)果整個(gè)項(xiàng)目幾乎所有文件都被標(biāo)紅,嘗試使用 --fix 卻無(wú)法全部修復(fù),內(nèi)心十分沮喪。

現(xiàn)在想想,那時(shí)候的我對(duì) ESLint 的認(rèn)知是不完整的,在那時(shí)候的我看來(lái) ESLint 就是輔助我們保持代碼風(fēng)格一致的工具,airbnb 的 js 風(fēng)格備受大家推崇。

那時(shí)候的我知道保持代碼風(fēng)格的一致性能增加可讀性,更便于團(tuán)隊(duì)合作。不過(guò)一致沒(méi)有去深想,為什么大家會(huì)推崇某特定的風(fēng)格,這背后肯定是有著特殊的意義。

保持一致就意味著要對(duì)我們編寫(xiě)的代碼增加一定的約束,ESLint 就是這么一個(gè)通過(guò)各種規(guī)則(rule)對(duì)我們的代碼添加約束的工具。JS 做為一種動(dòng)態(tài)語(yǔ)言,寫(xiě)起來(lái)可以隨心所欲,bug 遍野,但是通過(guò)合適的規(guī)則來(lái)約束,能讓我們的代碼更健壯,工程更可靠。

在官方文檔 ESLint - rules 一節(jié)中,我們可以看到官方提供的了大量的規(guī)則,有推薦使用的("eslint:recommended"),也有默認(rèn)不啟用的,還有一些廢棄的。

這和現(xiàn)實(shí)生活是一致的,現(xiàn)實(shí)生活中,我們也在不自覺(jué)中遵守和構(gòu)建著各種不同的規(guī)則。新的規(guī)則被構(gòu)建是因?yàn)槲覀冊(cè)谀撤矫嬗辛烁嗟慕?jīng)驗(yàn)總結(jié),將其轉(zhuǎn)變?yōu)橐?guī)則可能是希望以后少踩坑,也能共享一套最佳實(shí)踐,提高我們的工作效率。 就像我們提交代碼時(shí),把希望大家共同遵守的約定轉(zhuǎn)變?yōu)?MR 模板,希望所有人都能遵守。

在我看來(lái) ESLint 的核心可能就是其中包含的各種規(guī)則,這些規(guī)則大多為眾多開(kāi)發(fā)者經(jīng)驗(yàn)的結(jié)晶:

有的可以幫我們避免錯(cuò)誤;

有的可以幫我們寫(xiě)出最佳實(shí)踐的代碼;

有的可以幫我們規(guī)范變量的使用方式;

有的可以幫我們規(guī)范代碼格式;

用的可以幫我們更合適的使用新的語(yǔ)法;

之前看過(guò)一張圖能很好的描述 ESLint 的作用:

如果你不使用 ESLint ,你的代碼只能靠人工來(lái)檢查,格式亂七八糟,運(yùn)行起來(lái) bug 叢生,你的合作者或用戶會(huì)怒氣沖沖

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/7019.html

相關(guān)文章

  • 十分鐘了解eslint配置 && 編寫(xiě)自定義eslint規(guī)則

    摘要:的初衷是為了讓程序員可以創(chuàng)建自己的檢測(cè)規(guī)則。為了便于人們使用,內(nèi)置了一些規(guī)則,當(dāng)然,你可以在使用過(guò)程中自定義規(guī)則。所有的規(guī)則默認(rèn)都是禁用的。在文件里的字段進(jìn)行配置。如何編寫(xiě)一個(gè)知道了的原理,接下來(lái)可以自定義一個(gè)。 eslint介紹 ESLint 是一個(gè)開(kāi)源的 JavaScript 代碼檢查工具,由 Nicholas C. Zakas 于2013年6月創(chuàng)建。代碼檢查是一種靜態(tài)的分析,常用...

    zqhxuyuan 評(píng)論0 收藏0
  • 前端模塊化和構(gòu)建工具

    摘要:以前一直對(duì)前端構(gòu)建工具的理解不深,經(jīng)過(guò)幾天的研究特意來(lái)總結(jié)一下,第一次寫(xiě)博客,有寫(xiě)錯(cuò)的請(qǐng)多多見(jiàn)諒,該文章我也從其他博客拷了一些內(nèi)容,如果有冒犯之處,請(qǐng)指出。強(qiáng)大的設(shè)計(jì)使得它更像是一個(gè)構(gòu)建平臺(tái),而不只是一個(gè)打包工具。 以前一直對(duì)前端構(gòu)建工具的理解不深,經(jīng)過(guò)幾天的研究特意來(lái)總結(jié)一下,第一次寫(xiě)博客,有寫(xiě)錯(cuò)的請(qǐng)多多見(jiàn)諒,該文章我也從其他博客拷了一些內(nèi)容,如果有冒犯之處,請(qǐng)指出。 如今,網(wǎng)頁(yè)不再...

    ad6623 評(píng)論0 收藏0
  • 用 husky 和 lint-staged 構(gòu)建超溜的代碼檢查工作

    摘要:官方出品的工具列表也是個(gè)非常不錯(cuò)的參考。很多同學(xué)選擇在持續(xù)集成階段后文用代稱(chēng)做,比如使用遠(yuǎn)程的來(lái)觸發(fā)。常見(jiàn)做法是使用或者在本地提交之前做。本文作者王仕軍,商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。 showImg(https://segmentfault.com/img/remote/1460000009546916?w=1195&h=705); 具備基本工程素養(yǎng)的同學(xué)都會(huì)注重...

    twohappy 評(píng)論0 收藏0
  • webpack工程化集成React技術(shù)棧(一)

    項(xiàng)目開(kāi)始前,我們先聊一聊關(guān)于項(xiàng)目的一些說(shuō)明。該項(xiàng)目起始于2017年初,當(dāng)時(shí)公司主要技術(shù)棧為gulp+angular,鑒于react的火熱的生態(tài),在公司決定研發(fā)bss管理系統(tǒng)時(shí)選用react開(kāi)發(fā),目的也是為react native打下基礎(chǔ),以解決后期公司大前端技術(shù)棧的逐步成熟。(當(dāng)時(shí)沒(méi)有選擇vue開(kāi)發(fā)的主要原因是weex生態(tài)還不夠特別成熟),既然決定換新,項(xiàng)目的構(gòu)建也跟著一起換,從gulp轉(zhuǎn)向火熱的...

    tianhang 評(píng)論0 收藏0
  • 前端代碼質(zhì)量進(jìn)階:自定義 eslint 規(guī)則校驗(yàn)業(yè)務(wù)邏輯

    摘要:自定義規(guī)則校驗(yàn)代碼業(yè)務(wù)邏輯是社區(qū)中主流的工具,提供的大量規(guī)則有效的保障了許多項(xiàng)目的代碼質(zhì)量。本文將介紹如何通過(guò)自定義檢查規(guī)則,校驗(yàn)項(xiàng)目中特有的一些業(yè)務(wù)邏輯,如特殊作用域特殊使用規(guī)范性等。 自定義 eslint 規(guī)則校驗(yàn)代碼業(yè)務(wù)邏輯 eslint 是 JavaScript 社區(qū)中主流的 lint 工具,提供的大量規(guī)則有效的保障了許多項(xiàng)目的代碼質(zhì)量。本文將介紹如何通過(guò)自定義 eslint ...

    Coly 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<