在列出錯誤後,你可以選擇手動去修改,或是有些錯誤實在是太愚蠢了,根本可以透過程式來幫你改,於是就有了 fixmyjs。
FixMyJS is a tool that automatically fixes mistakes—such as missing semicolon, multiple definitions, etc.—reported by JSHint.
他有提供幾種執行方式:
我是用 Nodejs 的方式,可以從 command line 去跑,比較方便,基本上執行時有三個模式可以選擇:
- 直接修改
- dry-run,列出 diff
- 生成 patch 檔
我習慣讓他直接改,然後用 version control tool 來看他到底改了什麼,而這時有些改錯的就可以順便修正一下。所以這不是完美的,用的時候要自己注意。例如,這樣的 javascript code
"use strict";
var foo = {
fun1: function() {},
fun2: function() {}
fun3: function() {}
}
由於 JSHint 會報出這樣的錯誤test.js: line 6, col 3, Expected '}' to match '{' from line 3 and instead saw 'fun3'.他覺得第 6 行少一個分號,但我想要的應該是第 5 行少一個逗點,於是根據 JSHint 的結果 fixmyjs 就把他改成了這樣,在錯誤的地方補了 "Missing semicolon" ...
test.js: line 6, col 7, Missing semicolon.
test.js: line 6, col 7, Expected '(end)' and instead saw ':'.
沒有留言:
張貼留言