close

lint

最近都在研究跟使用跟 lint 有關的 NodeJS 工具,
所謂 lint 請參照上面維基百科的說明,
目前我常用的工具有 jslint, jshint, jsonlint 還有一些 有趣的 utility,
以下是其簡單介紹。

jslint 對我來說是第一個知道的 lint 工具,
它是由 JavaScript 的大師 Douglas Crockford 貫徹其意志所定出的一套 JavaScript 語法與格式的規範,
它的網路介面網址為 http://www.jslint.com/
也可以在 github 上找到 jslint 的原始碼,
寫在這篇文章當然是有 NodeJS 版本,
請用 $ sudo npm i jslint -g  來安裝,
接下來就可以用下面的指令來檢測 JavaScript 。

jslint [--indent] [--maxerr] [--maxlen] [--predef] [--anon] [--bitwise] [--browser] [--cap] [--continue] [--css] [--debug] [--devel] [--eqeq] [--es5] [--evil] [--forin] [--fragment] [--newcap] [--node] [--nomen] [--on] [--passfail] [--plusplus] [--properties] [--regexp] [--rhino] [--undef] [--unparam] [--sloppy] [--stupid] [--sub] [--vars] [--white] [--widget] [--windows] [--json] [--color] [--terse] [--] <scriptfile>...

(話說很懷念那年和大師一起吃鼎泰豐的日子 .Orz)

JSHint 算是 JSLint 的分支,
同樣有 網頁介面 http://www.jshint.com/
原始碼可以在 https://github.com/jshint/jshint 閱讀,
透過

$ sudo npm i jshint -g 

可以安裝 nodejs 版本。
到底 JSHint 和 JSLint 有什麼不同,
我目前的看法是這是 JSLint 的彈性版本,
如果 JSLint 是 Douglas 的意志,
JSHint 則是 變成 JSHint Community 的意識。
WhyIForkedJSLintToJSHint

JSHint 的主要維護者 Anton 在他的部落格有說明 JSHint 的誕生緣由。

JSHint 的偏好設定可以吃 json 格式的檔案,
事實上 json 算是 JavaScript 的好朋友。
不過我有時總會漏打一個逗點或大中括號,
這個時候 jsonlint 就登場了!

jsonlint 同樣有網路介面可以直接用
http://jsonlint.com/
除此之外,
當然也有 NodeJS 的 package,
請用 $ npm install jsonlint -g 來安裝,
使用方式也很簡單,
就是 $jsonlint json檔案 即可
這裡是 它的 github 網址 https://github.com/zaach/jsonlint/

那這樣子,
有沒有 csslint 呢!
答案是有的
https://github.com/stubbornella/csslint

然後 twitter 也推了一套自己的工具 recess ,
https://github.com/twitter/recess 
http://twitter.github.com/recess/

最後我們要怎麼修掉我們 JavaScript 的 lint 錯誤呢,
也許可以試試 fixmyjs 這個 package ,
不過 話說在前面 fixmyjs 不能修掉所有錯誤,
也可能會 弄壞掉 code,
不過幸好它有 dry-run 模式,
也算是有幫助的了!

各位開發者朋友,
你們都用什麼工具來輔助開發呢?
歡迎來分享囉 :) 

Technorati Tags: Nodejs, javascript, lint, jslint, jshint, csslint, jsonlint, recess, fixmyjs

arrow
arrow
    文章標籤
    nodejs javascript lint
    全站熱搜

    賽拉維‧柯南 發表在 痞客邦 留言(0) 人氣()