您好,登錄后才能下訂單哦!
javascript中有哪些檢驗工具,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
Overview
四種工具用相同的基本方式工作。他們都有一套用戶分析、報告js文件錯誤的規(guī)則。他們都可以通過npm安裝。他們都可以通過命令行使用、作為Grunt插件使用、也可以集成到編輯器中。他們四種均支持使用注釋進(jìn)行配置。
但是相似點結(jié)束了。每個工具都有各自的優(yōu)點和缺點–優(yōu)點是通過比較得到的。
JSLint
JSLint是其中最老的工具。在2002年 Douglas Crockford開發(fā)了該工具,根據(jù)其經(jīng)驗,強制使用js語言中精粹的部分。如果你同意這些精粹,JSLint能成為一個好的工具。
JSLint的缺點是不能配置和拓展。你根本不能禁掉需要特性,并且很多缺少文檔。官方文檔非常不友好,例如缺少如何將其集成到編輯的信息。
優(yōu)點
參數(shù)配置完成,可以直接使用
缺點
JSLint不存在配置文件,如果想改變參數(shù)設(shè)置,那就存在問題
有限的配置選項,許多規(guī)則不能禁掉
不能增加個性化規(guī)則
沒有文檔記錄規(guī)則
很難弄清楚哪個規(guī)則引起的錯誤
JSHint
作為一個可配置的JSLint版本,JSHint被開發(fā)出來。你可以配置每個規(guī)則,將其放到一個配置文件中,這樣在大項目中可以容易使用。JSHint對每個規(guī)則有好的文檔,所以可以準(zhǔn)確知道每個規(guī)則的作用。將其集成到編輯器也是簡單的。
JSHint的一個小缺點是里面的松散默認(rèn)配置。也即是你在使其可用之前必須將其啟動。和ESLint相比,確定哪個規(guī)則用戶開啟或關(guān)閉錯誤信息,JSHint是更加困難。
優(yōu)點
大多是參數(shù)可以配置
支持配置文件,在大項目中容易使用
已經(jīng)支持需要類庫,像jQuery、QUnit、NodeJS、Mocha等
支持基本的ES6
缺點
難于知道哪個規(guī)則產(chǎn)生錯誤
存在兩類選項:強制選項和松散選項。使得配置有些混亂
不支持自定義規(guī)則
JSCS
JSCS不同于其他,因為如果不給它一個配置文件或告訴它一個配置項,JSCS
不會做任何事情。可以存他們的網(wǎng)站現(xiàn)在配置項,所以這不是個大問題,并且有許多配置項,例如jQuery代碼風(fēng)格配置項、Google配置項。
它有超過90個不同的規(guī)則,通過插件可以創(chuàng)建自定義規(guī)則。當(dāng)和其他工具集成需要特定格式時,JSCS也支持自定義報告使得變得非常容易。
JSCS是一個代碼風(fēng)格檢查器。這意味著它僅僅匹配代碼格式的問題,不匹配潛在的bugs、errors。因此,跟其他工具相比缺少靈活性,但是如果你僅僅強制檢查代碼風(fēng)格,JSCS也是一個好的工具。
優(yōu)點
支持自定義報告,更容易與其他工具集成
如果你遵循一種可用的代碼風(fēng)格,配置項和準(zhǔn)備好的配置文件使其容易啟動
在報告中存在標(biāo)記包含規(guī)則名字,所以很容易指出哪個規(guī)則造成了錯誤
通過自定義插件進(jìn)行拓展
缺點
僅僅檢查代碼風(fēng)格的問題。JSCS不檢查潛在存在的bugs,例如不適用的變量、偶然的全局變量等等
四個工具中最慢,但是在使用中不是一個問題
ESLint
ESLint是***出來的工具。它被設(shè)計的容易拓展、擁有大量的自定義規(guī)則、容易的通過插件來安裝。它給出準(zhǔn)確的輸出,而且包括規(guī)則名,這樣可以知道哪個規(guī)則造成了錯誤。
ESLint文檔多少有些混亂。規(guī)則容易查找,以及被分為邏輯組,但是配置指南在有些地方容易弄混。然而它可以在一個地方提供鏈接去編輯集成、插件和樣例。
優(yōu)點
靈活:任何規(guī)則都可以開啟閉合,以及有些規(guī)則有些額外配置
很容易拓展和有需要可用插件
容易理解產(chǎn)出
包含了在其他檢查器中不可用的規(guī)則,使得ESLint在錯誤檢查上更有用
支持ES6,唯一支持JSX的工具
支持自定義報告
缺點
需要一些配置
速度慢,但不是主要問題
關(guān)于javascript中有哪些檢驗工具問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。