91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JSLint和JSHint及ESLint的對比是什么

發布時間:2021-10-21 14:03:39 來源:億速云 閱讀:194 作者:柒染 欄目:大數據

JSLint和JSHint及ESLint的對比是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

最近在用React寫項目,但是我的Vim配置之前并沒有配置對JSXES6的支持,然后看著那堆報錯各種不爽了,于是還是要繼續折騰,順便也增加了點知識,記錄一下。

主流的JS Lint工具及介紹

JavaScript已經發展蠻長時間了,對應的Lint工具也是層出不窮,下面介紹一下比較主流的幾個Lint工具(其實是我用過的幾個XD)

JSLint

JSLint是由Douglas Crockford開發的,可能是最早的JavaScript Lint工具了吧,它的名字來源于著名的C語言工具Lint。老道把他認為的非Good Parts的部分都報了warning,而且在它的文檔中也提到了你應該欣然接受所有的JSLint的建議。最近看了下,老道還在持續更新著這個項目,而且官網上也有著一個在線的體驗工具,可以嘗試一下。對了,如果想要使用這個工具,建議看看老道在YouTube上關于JavaScript編程風格的視頻,講的還是很幽默的。

JSHint

JSHint是由Anton Kovalyov基于JSLint的代碼實現的開源項目,由于JSLint時期大多數人都在受JSLint壓迫,JSHint相比較之下,更友好,也更容易配置,所以很快就發展了起來,也得到了眾多IDE和編輯器的支持。但是,由于它是基于JSLint開發的,自然原有的一些問題它也繼承下來了,比如不易擴展,不容易直接根據報錯定位到具體的規則配置等,雖然之前好像是有過相關的討論,但是現在仍然沒有什么好的解決辦法。好在它發展的不錯,很多時候遇到的問題都可以在網上找到相關的解決方案,而且文檔也是非常不錯的。

ESLint

ESLint是由Nicholas C. Zakas在2013年開始開發的,它的初衷就是為了能讓開發者能自定義自己的linting rules,而且它提供了一套相當完善的插件機制,可以自由的擴展,動態加載配置規則,同時可以方便的根據報錯定位到具體的規則配置。而且我比較喜歡它的一點是文檔非常詳細,可能這也是靈活所必須的吧。在這里還要提一點,ESLint最初并不是為了造一個重復的輪子,而是作者在實際使用中的需求沒有能得到JSHint團隊的回應,所以他就結合當時的JSHint和另一個代碼風格的檢查工具JSCS寫出來了現在具備代碼風格檢查自定義插件擴展功能的ESLint了。

JSLint,JSHint和ESLint的對比

這三個工具各有特色,我只是做一下對比,選擇的話,看個人需求就好了。

JSLint

優點

  • 配置是老道已經定好的,開箱即用。

不足

  • 有限的配置選項,很多規則不能禁用

  • 規范嚴格,凡是不符合老道所認為的好的風格的,都會有警告(這一項就看你是否完全認同老道了)

  • 擴展性差

  • 無法根據錯誤定位到對應的規則

JSHint

優點

  • 有了很多參數可以配置

  • 支持配置文件,方便使用

  • 支持了一些常用類庫

  • 支持了基本的ES6

不足

  • 不支持自定義規則

  • 無法根據錯誤定位到對應的規則

ESLint

優點

  • 默認規則里面包含了JSLintJSHint的規則,易于遷移(這肯定是故意的XD)

  • 可配置為警告錯誤兩個等級,或者直接禁用掉

  • 支持插件擴展

  • 可以自定義規則

  • 可以根據錯誤定位到對應的規則

  • 支持ES6

  • 唯一一個支持JSX的工具

不足

  • 需要進行一些自定義配置(因為太靈活了嘛,不過文檔是很詳細的)

  • (它比其他兩個都要慢)

Vim支持

我們都使用Syntastic來配置

JSLint的Vim配置

有一個jslint.vim當然版本太老了。。我們不用這種方式做。

  • 安裝jslint

sudo npm install jslint -g
  • vimrc中添加如下配置

    let g:syntastic_javascript_checkers = ['jslint']

JSHint的Vim配置

  • 安裝jshint

    sudo npm install jshint -g
  • vimrc中添加如下配置

    let g:syntastic_javascript_checkers = ['jshint']
  • 也可以使用獨立插件jshint.vim

ESLint的Vim配置

sudo npm install eslint -g
  • vimrc中添加如下配置

    let g:syntastic_javascript_checkers = ['eslint']

這里有個很重要的問題,記得要在添加一份配置文件,在官網或者在我vim配置的倉庫可以找到

關于JSLint和JSHint及ESLint的對比是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清水河县| 朔州市| 大新县| 健康| 丹凤县| 海门市| 会昌县| 朔州市| 周至县| 武汉市| 民丰县| 宜兴市| 彝良县| 东丰县| 黄梅县| 珠海市| 新乐市| 长丰县| 桑植县| 青铜峡市| 大港区| 偃师市| 丰城市| 同江市| 镇江市| 伊宁县| 阿勒泰市| 永仁县| 汝阳县| 闻喜县| 宜川县| 桑植县| 五寨县| 赤壁市| 康乐县| 偃师市| 岑巩县| 萝北县| 凌云县| 鄯善县| 呼伦贝尔市|